私はオーディオファイルを選択するポップアップを提供できるように、メディアプレーヤーは、まだ曲をロードしていないことを確認したいので、私はメディアプレーヤーの現在の状態を返すようにしようとしています。オーディオファイルが答えを使用してメディアプレーヤーの状態を返す方法は?
sound.button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(//no audio file loaded){
Intent intent = new Intent(MainActivity.this, Pop.class);
startActivityForResult(intent, PICK_AUDIO_REQUEST);
}
else if(sound.mp.isPlaying()) {
sound.mp.pause();
}
else{
sound.mp.seekTo(0);
sound.mp.start();
}
}
});
をロードされている場合、他のクラスの
コード
public Sound(int buttonID, Activity _activity) {
super();
this.activity = _activity;
button = (Button) activity.findViewById(buttonID);
mp = new MediaPlayer();
}
コードをチェックするために、これは私が思い付いたコードは次のとおりです。
sound.button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
sound.mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
isPrepared = true;
}
});
if(!isPrepared){
Intent intent = new Intent(MainActivity.this, Pop.class);
startActivityForResult(intent, PICK_AUDIO_REQUEST);
}
else if(sound.mp.isPlaying()) {
sound.mp.pause();
}
else{
sound.mp.seekTo(0);
sound.mp.start();
}
}
});
私はダミーファイルをロードして、それはそれを上書きするためにありますかどうかをチェックすることを考えています。しかしそれはそれほどエレガントではないでしょうか?または、あなたのソリューションにonpreparedlistenerでどのように織り成すのですか? – Sterisk
サウンドデータソース( 'url' /' uri')を変更するたびに、 'MediaManager'を再準備する必要があります。別の方法はありません。 –
だから、私はどこにonpreparedlistenerを置くだろうか? – Sterisk