2011-01-08 9 views
1

ゲームを作成していて、ゲームにオーディオクリップがいくつかあります。私はオーディオプールを使用しており、私は2つのオーディオクリップを使用しています。どちらもmp3形式で、1は700kb、もう1つは800バイトです。アプリがロードされるとすぐに音声を開始Android App

ゲームを初めて読み込んだときに700kbのオーディオクリップを再生しようとしています。これは、アプリが開いている限り永遠にループするバックグラウンドサウンドです。しかし、私が試したことはすべて失敗します。私がそれを動作させることができた唯一の方法は、起動時にスレッドを開始し、スレッドを15秒間スリープさせることです。その後、開始オーディオが呼び出され、再生されますが、スレッドが破棄された場合は、サウンドが消えます。

私はオーディオがおそらくバッファリングしていると仮定しているため、開始時に再生されないのはなぜですか?また、すべてのオーディオコールをスレッドから作成する必要がありますか?

+0

なぜ機能していないもの(コード)を投稿していないのですか? – user432209

答えて

1

私はちょうどそれが正常に動作している活動のonCreate()メソッドでこのコードを使用しています、この場合には、停止指示がない場合は、アプリケーション内のすべての活動のためにプレーしていきます

public class LaunchActivity extends Activity { 
     private MediaPlayer mp; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.whatever); 

     setVolumeControlStream(AudioManager.STREAM_MUSIC); 
     mp = MediaPlayer.create(this, R.raw.a); 
     mp.start(); 

    } 

アプリケーションを終了するとまだ再生されます。新しいインスタンスが戻ったときに、古いインスタンスを同時に再生するようになります。メディアプレーヤーは独自のプロセスなので、別のスレッドは必要ありません。

あなたのMP3ファイルに間違いがないと確信できますか?システムが苦労していますか?

関連する問題