2016-12-17 5 views
0

リアクションネイティブサウンドライブラリを使用しています。私は、短いサウンドファイルを再生するための関数を呼び出すボタンを持っています。サウンドファイルを15回再生すると、機能がロードされてもサウンドは再生されなくなります。何が起こっているリアクションネイティブサウンドクリップは、一定のクリック数の後に動作を停止します。

playSound() { 
    var s = new Sound('soundfile.mp3', Sound.MAIN_BUNDLE, (e) => { 
     if (e) { 
     console.log('error', e); 
     } else { 
     console.log('duration', s.getDuration()); 
     s.play() 
     } 
    }); 

    } 

とどのように私はこの問題を解決することができます。

次は私の機能コードのですか?

答えて

0

理由は、すべてのリソースが使い尽くされているためです。オーディオリソースが終了したら、そのオーディオリソースを解放する必要があります。

playSound() { 
    var s = new Sound('soundfile.mp3', Sound.MAIN_BUNDLE, (e) => { 
     if (e) { 
     console.log('error', e); 
     } else { 
     console.log('duration', s.getDuration()); 
     s.play(()=>{ 
       s.release() 
     }) 
     } 
    }); 

    } 

また、毎回新しいリソースを再作成するのではなく、Soundインスタンスを再利用できます。

関連する問題