2011-05-12 99 views
0

我正在使用Android MediaPlayer从本地源播放。重新启动声音时,除了一个错误,它运行良好。Android MediaPlayer剪辑重新启动后seekTo

public void create() { 
    FileInputStream in = mApp.openFileInput(mMusicFile); 
    mp = new MediaPlayer(); 
    mp.setDataSource(in.getFD()); 
    mp.prepare(); 
    mp.setLooping(true); 
} 

public void play() { 
    mp.start(); 
} 

public void stop() { 
    mp.stop(); 
    mp.prepare(); 
    mp.seekTo(0); 
} 

如果我调用stop(),再进行第二次左右后调用play()我听说它已经停止然后重新启动的声音的声音的简短片段。

+0

为什么在stop()方法中调用mp.prepare()? – Squonk 2011-05-13 00:26:29

+0

因此,在我调用stop()之后,它将处于与之前调用play()相同的状态, – TurqMage 2011-05-13 00:43:58

回答

1

我相信这是Android 2.2 Froyo中的一个已知错误。规定的解决方法是删除MediaPlayer并制作一个新的或淡入到播放。

搜索后内部缓冲区没有被刷新。