KotlinでAndroidアプリを作っています。
MainActivityのOnCreate内でbgmを流す処理を書いているのですが、
ホームボタンでAndroid自体のホーム画面に戻り、再度アプリを開くとonCreateは動きませんが
Android本体の戻るボタンでホーム画面に戻り、再度開くとonCreateが実行されbgmが二重に流れてしまいます。
この問題を解決するにはどうすればよいでしょうか。
よろしくお願いします。
Kotlin
1class MainActivity : AppCompatActivity() { 2 var mp: MediaPlayer? = null 3 4 override fun onCreate(savedInstanceState: Bundle?) { 5 super.onCreate(savedInstanceState) 6 setContentView(R.layout.activity_main) 7 mp = MediaPlayer.create(applicationContext, R.raw.bgm) 8 mp?.start() 9 } 10 11 override fun onRestart() { 12 super.onRestart() 13 mp?.start() 14 } 15}
手元にコードがなく、だいぶ省いているのですが
mp?.stop()は他のアクティビティに遷移する時に行なっています。
(不十分であれば、後日ファイルごと載せます。)
ちなみになのですが、本アプリは一応ゲームとして作っていて
タイトル画面->PLAY画面->ending画面という遷移になっており、ending画面からタイトル画面に遷移する時には
addFlagでsingletopとcleartopをつけています。
また、この時に再度bgmが流れるようにonRestart()にmp?.start()を記述しています。
回答1件
あなたの回答
tips
プレビュー