mediacontrollerでURL経由でオーディオファイルを再生しようとしています
しかし、私はエラーが発生します:
09-11 10:28:23.970: E/MediaPlayer(912): 有効なメディアプレーヤーなしで getDuration を呼び出そうとしています 09-11 10:28:23.970: E/MediaPlayer(912): エラー (-38, 0) 09-11 10:28:23.990: E/MediaPlayer(912): 間違った状態で seekTo を実行しようとしています: mPlayer=0x5d425340、mCurrentState=0
ここSOでさまざまな回答を見ましたが、解決しませんでした。getDuration()
電話してみるonPrepared()
mMediaPlayer = new MediaPlayer();
mMediaController = new MediaController(this);
mMediaController.setMediaPlayer(TextToSpeechActivity.this);
mMediaController.setAnchorView(findViewById(R.id.audioView));
try {
mMediaPlayer.setDataSource(getSoundUrl());
mMediaPlayer.prepare();
} catch (IOException e) {
Log.e("PlayAudioDemo", "Could not open file for playback.", e);
}
mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mHandler.post(new Runnable() {
public void run() {
//did not help
int duration = mMediaPlayer.getDuration();
mMediaController.show(10000);
mMediaPlayer.start();
}
});
}
});
getSoundUrl()
URL をサウンドファイル (wav) に返します。これは、メディア コントローラーを実装しなくても曲が再生されるため機能します。コードが長いので、追加する必要がある部分を教えてください。