gpt4 book ai didi

java - Android Mediaplayer Selecttrack 方法失败

转载 作者:行者123 更新时间:2023-12-01 09:39:28 42 4
gpt4 key购买 nike

我正在 Android 上使用媒体播放器功能。我基本上在原始文件夹中有歌曲,我只想更改为新轨道,但失败了。播放一个音乐文件,然后我在音乐播放后或播放期间按一个按钮跳到随机轨道,但失败了。

当前代码

mediaplayer.stop();
try {
mediaplayer.prepareAysn();
mediaPlayer.selectTrack(randomtrack_num - 1);

}
catch(Exception e){}
mediaplayer.start();

我收到的错误:

  • MediaPlayer:在状态 64 下开始调用

  • 媒体播放器:错误(-38, 0)

  • 媒体播放器:错误 (-38,0)

我在没有 mediaplayer.stop() 的情况下尝试了这个,但最后仍然包含了 mediaplayer.start() ,它只会再次重播相同的轨道。

我错过了什么吗?请告诉我。

第二种方法阅读文档后,我意识到这只能在准备好的状态下完成,我认为在第二种方法中它应该有效,但事实并非如此。

  mediaPlayer.stop();

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){

@Override
public void onPrepared(MediaPlayer mp) {

try{
mp.selectTrack(randomtrack_num - 1);

}catch(Exception e){}

mp.start();

}
});
mediaPlayer.prepareAsync();

我收到此错误:/MediaPlayer:应该已设置字幕 Controller 基本上相同的轨道会再次播放,并且不会转到所选轨道。

最佳答案

您在错误的状态下调用 mediaplayer.start()。首先阅读此文档:

https://developer.android.com/reference/android/media/MediaPlayer.html

您将对正确实现有更好的了解。

编辑:

   String[] url ; // initiliaze your URL array here
MediaPlayer myMediaPlayer = new MediaPlayer();
myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
myMediaPlayer.setDataSource(url[0]);
myMediaPlayer.prepareAsync(); // might take long! (for buffering, etc)
} catch (IOException e) {
Toast.makeText(this, "mp3 not found", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}

//mp3 will be started after completion of preparing...
myMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

@Override
public void onPrepared(MediaPlayer player) {
player.start();
}

});

完成后播放不同的轨道

mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
@Override
public void onCompletion(MediaPlayer mp)
{

myMediaPlayer.reset();
/* load the new source */
myMediaPlayer.setDataSource(url[position]);//select the path according to your need
/* Prepare the mediaplayer */
myMediaPlayer.prepareAsync();

}

关于java - Android Mediaplayer Selecttrack 方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38580324/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com