0
ストリームからMP3を再生しようとしていますが、再生を押すと自動的に再生される問題です。また、再生ボタンは、ストリームに設定するだけのオーディオを再生しません。 MP3を自動的に再生させるにはどうしたらいいですか?ストリームを押すとMP3が再生されない
play.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (!mediaPlayer.isPlaying()) {
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
mediaFileLengthInMilliseconds = mediaPlayer.getDuration();
if(!mediaPlayer.isPlaying()){
mediaPlayer.start();
play.setImageResource(R.drawable.ic_media_pause);
}else {
mediaPlayer.pause();
play.setImageResource(R.drawable.ic_media_play);
}
primarySeekBarProgressUpdater();
}
}});
sb.setMax(99);
sb.setOnTouchListener(this);
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnBufferingUpdateListener(this);
mediaPlayer.setOnCompletionListener(this);
}
private void primarySeekBarProgressUpdater() {
sb.setProgress((int)(((float)mediaPlayer.getCurrentPosition()/mediaFileLengthInMilliseconds)*100));
if (mediaPlayer.isPlaying()) {
notification = new Runnable() {
public void run() {
primarySeekBarProgressUpdater();
}
};
handler.postDelayed(notification,1000);
}
}
public boolean onTouch(View v, MotionEvent event) {
if(v.getId() == R.id.progress_bar){
/** Seekbar onTouch event handler. Method which seeks MediaPlayer to seekBar primary progress position*/
if(mediaPlayer.isPlaying()){
SeekBar sb = (SeekBar)v;
int playPositionInMillisecconds = (mediaFileLengthInMilliseconds/100) * sb.getProgress();
mediaPlayer.seekTo(playPositionInMillisecconds);
}
}
return false;
}
public void onCompletion(MediaPlayer mp) {
play.setImageResource(R.drawable.ic_media_play);
mediaPlayer.stop();
}
public void onBufferingUpdate(MediaPlayer mp, int percent) {
sb.setSecondaryProgress(percent);
}
}
何か間違っていますか?私は遊びをクリックして、私のシークバーがいっぱいになるのを見ますが、遊びはありません。
私も、このメッセージが表示されます:あなたはMediaPlayer.OnPreparedListener
を実装する必要があるよう
E/MediaPlayer(28985): stop called in state 0 E/MediaPlayer(28985):
error (-38, 0) E/MediaPlayer(28985): Error (-38,0)
E/MediaPlayer(28985): stop called in state 0 E/MediaPlayer(28985):
error (-38, 0) E/MediaPlayer(28985): Error (-38,0)
E/MediaPlayer(28985): stop called in state 0 E/MediaPlayer(28985):
error (-38, 0) E/MediaPlayer(28985): Error (-38,0)
E/MediaPlayer(28985): stop called in state 0 E/MediaPlayer(28985):
error (-38, 0) E/MediaPlayer(28985): Error (-38,0)
E/MediaPlayer(28985): stop called in state 0 E/MediaPlayer(28985):
error (-38, 0) E/MediaPlayer(28985): Error (-38,0)
E/MediaPlayer(28985): stop called in state 0 E/MediaPlayer(28985):
error (-38, 0) E/MediaPlayer(28985): Error (-38,0)
E/MediaPlayer(28985):状態0でコールが停止しました。E/MediaPlayer(28985): エラー(-38、0)E/MediaPlayer(28985):エラー-38,0)がスパムされていて、 – arberb
が動作しなかったので、自分の非同期をコーディングして、非同期の代わりに準備を使用しました – arberb