小编spa*_*aul的帖子

Exoplayer 音频未在后台服务中播放

所以我开发了一个 Android 应用程序,它使用 exoplayer 库来流式传输音乐 url。但是,在创建后台服务以在后台启用音乐流后,它不起作用,但当我尝试在前台(MainActivity)时,相同的代码可以工作。

安卓清单

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.sparrowpaul.musicservice">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service android:name=".BackgroundService"/>

    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

MainActivity.Java

    package com.sparrowpaul.musicservice;

    import androidx.appcompat.app.AppCompatActivity;

    import android.content.Intent;
    import android.os.Bundle;

public class MainActivity extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intent = new Intent(MainActivity.this, BackgroundService.class);
        startService(intent);



    }


}
Run Code Online (Sandbox Code Playgroud)

后台服务.java

public class BackgroundService extends Service implements ExoPlayer.EventListener { …
Run Code Online (Sandbox Code Playgroud)

java android audio-streaming audio-player exoplayer

4
推荐指数
1
解决办法
6424
查看次数

标签 统计

android ×1

audio-player ×1

audio-streaming ×1

exoplayer ×1

java ×1