Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:在播放新歌曲之前停止播放歌曲。_Android_Audio_Task_Repeat - Fatal编程技术网

Android 安卓:在播放新歌曲之前停止播放歌曲。

Android 安卓:在播放新歌曲之前停止播放歌曲。,android,audio,task,repeat,Android,Audio,Task,Repeat,当我收到短信时,我试着播放一首歌, 当我收到2条短信,然后同时播放歌曲 谢谢你的帮助 Runnable stopPlayerTask = new Runnable(){ @Override public void run() { mPlayer.stop(); } }; if(mPlayer

当我收到短信时,我试着播放一首歌, 当我收到2条短信,然后同时播放歌曲

谢谢你的帮助

           Runnable stopPlayerTask = new Runnable(){
                @Override
                public void run() {
                    mPlayer.stop();
                }
            };

            if(mPlayer.isPlaying()){
                mPlayer.stop();
            }else{
                mPlayer.seekTo(startime);
                mPlayer.start();
                mPlayer.setLooping(true);
            }
            Handler handler = new Handler();
            handler.postDelayed(stopPlayerTask, endtime);

如果我正确理解您对mediaPlayer的预期用途,您应该从Android系统请求音频焦点。因此,您可以将mediaplyer封装在实现“AudioManager.OnAudioFocusChangeListener”的服务中。如果您为应用程序正确地实现回调,那么歌曲就不应该同时播放

请注意,Android要求API级别至少为8才能使用AudioManager

以下是文档中的参考: 使用
mPlayer.reset()
after
mPlayer.stop()
这将重置所有初始化,例如:track URI等,因此必须在
mPlayer.start()之前再次设置track URI


这将一次只允许播放新曲目和一首曲目,并将完全停止和重置以前的曲目。

首先,检查您是否有该播放器的单个实例。如果您有多个实例,则需要使用任何静态变量来检查运行状态,并停止您喜欢的实例。您的mplayer Delcra是否为静态的?谢谢Khan,如果您可以举个例子的话。Please@Merv如果有效,请不要忘记将其标记为正确答案。:-)好的,您是否仍遇到相同的问题?