2017-07-13 5 views
-1

Soundpoolに関して多くの質問がありましたが、まったく動作していないとすべて述べられています。私の場合、ケースは異なります。サウンドプールが機能していないと一部のデバイス

私はsoundpoolオブジェクトを宣言し、

public static SoundPool sp; 
public static int comeCloseID, goFurtherID, blinkID, smileID, rotateLeftID, rotateRightID; 

に従ってください、私はinitSoundsを作成したとして、IDSを追跡してきたが、サウンドプール

public static void initSounds() 
{ 
    sp = new SoundPool.Builder().build(); 
    comeCloseID = sp.load(mContext, R.raw.comeclose,1); 
    goFurtherID = sp.load(mContext, R.raw.gofurther,1); 
    blinkID = sp.load(mContext, R.raw.blink, 1); 
    smileID = sp.load(mContext, R.raw.smile, 1); 
    rotateLeftID = sp.load(mContext, R.raw.rotateleft, 1); 
    rotateRightID = sp.load(mContext, R.raw.rotateright, 1); 

    sp.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { 
     @Override 
     public void onLoadComplete(SoundPool soundPool, int sampleId, 
            int status) { 
      loaded = true; 
     } 
    }); 
} 

を初期化する機能を次のように私は音を淡い:

GlobalParams.sp.play(GlobalParams.comeCloseID, 1, 1, 1, 0, 1); 

など...

音声ファイルは私のsamsung note5デバイスを使用しています。しかし、私はそれらをJ1デバイスまたはlenovoデバイスで試してみると、サウンドは再生されません。 (thogh私は本当のためにロードされた値を記録することができます)。

何が欠けていますか?なぜオーディオが再生されていないのですか?

私はオーディオ(WAV、MP3 ....)にさまざまなフォーマットを使用しようとしていたことを知っていましたが、IDはケースを解決しませんでした。

答えて

0

、あなたはそれがデフォルトの1に設定されている5を言ってsetMaxStreams(5)を増やしてみてください:

AudioAttributes attributes = new AudioAttributes.Builder() 
        .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) 
        .setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED) 
        .setUsage(AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_INSTANT) 
        .build(); 

sp = new SoundPool.Builder() 
.setMaxStreams(5) 
.setAudioAttributes(attributes) 
.build(); 
関連する問題