wil*_*kee 8 java android media-player android-mediaplayer
我正在制作一个简单的应用程序来播放在线广播流.我知道如何设置流.到目前为止,这是我的代码.它设置流并播放它.但如果我停下来,我就无法重新开始.我错过了一些明显的东西吗
final MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(url);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // might take long! (for buffering, etc)
streamButton = (ToggleButton) findViewById(R.id.playstopstream);
streamButton.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton arg0, final boolean isChecked) {
// TODO Auto-generated method stub
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
if(isChecked)
{
mediaPlayer.start();
}
else
{
mediaPlayer.stop();
mediaPlayer.reset();
}
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*vid 11
老问题,但我遇到它寻找这个.只需使用pause停止,然后在重新启动之前执行seekTo(0):
mediaPlayer.seekTo(0);
mediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)
无需每次都准备好录音机.
小智 8
当你打电话mediaPlayer.reset() mediaPlayer进入IDLE状态.要进行播放,您应该在开始之前进行初始化以准备.
您可以在此处查看媒体播放器状态:http: //developer.android.com/reference/android/media/MediaPlayer.html.
小智 7
public void playButton (View view){
if (isActive == false){
mediaPlayer.start();
isActive = true;
}else{
mediaPlayer.seekTo(0);
mediaPlayer.start();
}
}
Run Code Online (Sandbox Code Playgroud)
和我一起工作正常。
| 归档时间: |
|
| 查看次数: |
23579 次 |
| 最近记录: |