Androidでエンターテイメントアプリを開発しています。BGMを流したい、そのためのサービスを利用したい。アプリには 3 つのアクティビティがあり、すべてのアクティビティで音楽を再生する必要があります。また、アクティビティが一時停止されている場合、音楽は一時停止し、破棄されたときに停止する必要があります。誰でもこれを行う方法を教えてもらえますか? リンクや例はありますか?
ありがとうございました。
Androidでエンターテイメントアプリを開発しています。BGMを流したい、そのためのサービスを利用したい。アプリには 3 つのアクティビティがあり、すべてのアクティビティで音楽を再生する必要があります。また、アクティビティが一時停止されている場合、音楽は一時停止し、破棄されたときに停止する必要があります。誰でもこれを行う方法を教えてもらえますか? リンクや例はありますか?
ありがとうございました。
サービスなしでそれを行う
メディアプレイヤーを使ったサービスで本気でやるなら
Intent svc=new Intent(this, BackgroundSoundService.class);
startService(svc);
public class BackgroundSoundService extends Service {
private static final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.idil);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
マニフェストでこのサービスを呼び出してください .BackgroundSoundService 文字列の末尾にスペースがないことを確認してください
<service android:enabled="true" android:name=".BackgroundSoundService" />
ここでのパーティーには遅すぎますが、まだ $0.02 を追加します。Google はユニバーサル ミュージック プレーヤーと呼ばれる無料のサンプルをリリースしました。バックグラウンドで音楽を再生するサービス、非常に役立つのでチェックしてください。プロジェクトへのリンクは次のとおりです
https://github.com/googlesamples/android-UniversalMusicPlayer
私はそれを実行するのに問題があり、mp3 ソースで実行するためにいくつかの変更を加えました。ここにBackfrounSoundService.java
ファイルがあります。私のmp3ファイルは私の電話のSDカードにあると考えてください。
public class BackgroundSoundService extends Service {
private static final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.d("service", "onCreate");
player = new MediaPlayer();
try {
player.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + "/your file.mp3");
} catch (IOException e) {
e.printStackTrace();
}
player.setLooping(true); // Set looping
player.setVolume(100, 100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("service", "onStartCommand");
try {
player.prepare();
player.start();
} catch (IOException e) {
e.printStackTrace();
}
return 1;
}
public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
この主題に関するHelloAndroidの優れたチュートリアルがあります。実際、それは私がグーグルで得た最初のヒットでした。ここで質問する前にグーグルで検索してみてください。
共有する 2 つの優れたリソースを見つけました。他の誰かが Google 経由でこのスレッドに出くわした場合、これが役立つ可能性があります (2018)。1 つはこのビデオ チュートリアルで、実際にサービスがどのように機能するかを確認できます。これは初心者に適しています。
リンク :- https://www.youtube.com/watch?v=p2ffzsCqrs8
その他は、バックグラウンドオーディオプレーヤーで本当に役立つこのWebサイトです。
リンク: - https://www.dev2qa.com/android-play-audio-file-in-background-service-example/
幸運を :)