2016-11-23 11 views
2

私は動作させるためにメディアプレーヤーを取得しようとしていますが、最初に音楽をインストールしても再生が開始されません(私はそれがビジュアライザー)。しかし、その後はいつもうまくいく。メディアプレイヤーのエラー(-38,0)とエラー(1、-1010)

コード:

mPlayer = MediaPlayer.create(this, R.raw.bik); 
    mPlayer.setLooping(true); 
    mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      mp.start(); 
     } 
    }); 

ログの猫:

11-23 17:18:29.979 28329-28329/com.waro.blockevader E/MediaPlayer: Error (-38,0) 
11-23 17:18:29.979 28329-28329/com.waro.blockevader E/MediaPlayer: Error (-38,0) 
11-23 17:18:29.979 28329-28329/com.waro.blockevader E/MediaPlayer: Error (1,-1010) 
11-23 17:18:29.979 28329-28329/com.waro.blockevader E/MediaPlayer: Error (-38,0) 
11-23 17:18:29.979 28329-28329/com.waro.blockevader V/MediaPlayer[Native]: isPlaying: 0 
11-23 17:18:29.979 28329-28329/com.waro.blockevader E/MediaPlayer: Error (-38,0) 

ファイル形式は、ヘルプのための.mp4

おかげです。

編集:

私は毎晩何を意味するのですか。

私が許可を与えてからアプリを再起動するたびに、音楽はうまく再生され、エラーは表示されません。

権限:

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 
+0

「しかし、毎回その後、それはうまく果たしています。」平均? – MikeOscarEcho

+0

編集された投稿を参照してください – Ellisan

+0

申し訳ありませんが、まだあまりにも曖昧です。 アプリケーションにはどのような権限が与えられていますか? アクティビティのonCreate()でビデオを開始していますか? – MikeOscarEcho

答えて

1

私はonResumse()内の一部を変更することによって、それを修正、

、 私が持っていた:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED) { 
     if (!mPlayer.isPlaying() && !mpCreated) { 
      initTunnelPlayerWorkaround(); 
      init(); 
     } else { 
      mPlayer.start(); 
      mVisualizerView.link(mPlayer); 
     } 
    } else { 
     cleanUp(); 
     mPlayer.start(); 
     Log.i("boop","biep"); 
    } 

そして、最後にそのログによって発見されたのは、それがelse(つまりcleanUp()を呼び出していることを意味しています。方法

とクリーンアップで()私が持っていた方法:

private void cleanUp() { 
    if (mPlayer != null) { 
     mVisualizerView.release(); 
     if(!mPlayer.isPlaying()) { 
      mPlayer.pause(); 
     } 
    } 
} 

第二大混乱(当たり前)を引き起こすと私はそれを変更することで、それを固定した場合:私はこれを知っている

private void cleanUp() { 
    if (mPlayer != null) { 
     mVisualizerView.release(); 
     if(mPlayer.isPlaying()) { 
      mPlayer.pause(); 
     } 
} 

奇妙で具体的な答えですが、同じ苦労を経験した誰かが、なぜ彼または彼女が問題を抱えているかを知ることができます。

がすべてと感謝を支援しようとしているために偉大な一日を

〜Waro(dh19、couldntの使用waro悲しげに)どういう

+1

あなたはそれを理解してうれしい!元の投稿からわかるように、私たちがあなたのデバッグを手助けするのは難しいでしょう。このANSWERのコードは、元の投稿にはどこにも見つかりません。私は時々あなたが大声だと思うだけで、次回はすべてのコードを投稿しようと思うことを知っています:) – MikeOscarEcho

+1

正直言って、私はこれが原因ではないと思っていましたが、 – Ellisan

0

次の2つの異なるエラーを取得しています。最初の1つ

E/MediaPlayer: Error (-38,0) 

は、最初にそれを準備せずにMediaPlayerを呼び出すことを意味します。

第2のエラー

E/MediaPlayer: Error (1,-1010) 

メディアがサポートされていないことを意味します。あなたは見ることができ、それが実際に引き起こして大混乱許可した予想通りのエラーコードherehere

+0

に付与していますが、私はonPrepared()を呼び出しましたか?私はそれを呼び出していない場合は、なぜ私は許可を与えた後、私のアプリを再起動します。エラー番号2の場合も同じです。許可が与えられた後で私のアプリケーションを再起動するとどちらも表示されません – Ellisan

+0

@ dh19これはエラーの原因です。私は提供された情報であなたに何かを伝えることはできません。 –

+0

うん、わかりましたが、それは私の問題を本当に解決するものではありません。/ – Ellisan

関連する問題