0

私のAndroidアプリケーションでは、MediaPlayerを使用してサウンドを再生します。ただし、MediaPlayerは、さまざまなリスナーが登録されていることを想定しています。リスナーが登録されていない場合onPreparedListener、 MediaPlayerはエラーメッセージonCompletionListeneronSeekCompleteListenerlogcatに出力します。

12-10 19:28:03.605: E/MediaPlayer(1820): mOnCompletionListener is null. Failed to send MEDIA_PLAYBACK_COMPLETE message.

私のアプリケーションはこれらのイベントに対して何もする必要がないので、リスナーは実際には必要ありません。これに対処するための標準的な方法は何ですか?空白のリスナーを登録する必要がありますか?リスナーを登録しないでください。もしそうなら、どうすればエラーメッセージをオフにできますか?

4

1 に答える 1

2

使用しているAPIレベルはわかりませんが、これらのエラーメッセージはAPI14以降のAndroidソースコードに含まれていないようです。エラーメッセージは、AndroidのMediaPlayerクラスの以前のバージョンに存在していた可能性があります。最新のSDKがインストールされていて、ソースコードがダウンロードされている場合、クラスは/sdk/sources/android-/android/media/MediaPlayer.javaにあります。「TAG」変数は次のように定義されていることに注意してください。

private final static String TAG = "MediaPlayer";

また、OnCompletionCallbackは次を使用して設定されます。

public void setOnCompletionListener(OnCompletionListener listener)
{
    mOnCompletionListener = listener;
}

これは、古いSDKを使用している可能性があるという私の疑いを再確認します。とにかく、簡単な修正は、空のコールバックメソッドを使用してリスナーを追加することであるように思われます。これがお役に立てば幸いです。

于 2012-12-12T05:09:20.753 に答える