のために私は3ヶ月間アンドロイド学ぶために始めていると私はメディアプレーヤーのために使用されている私の生のディレクトリにmp3ファイルのパスを取得したいMediaPlayer.setDataSourceセットデータソースは、MediaPlayerの
といくつかの問題を抱えています。
私は多くの方法を試しましたが、プログラムがクラッシュしたり問題を表示しなくても、まだ動作していません。私は他の投稿から多くのソリューションを試しましたが、それでも動作していません。 は、ここに私のコードです:
String path = "android.resource://com.example.acer.appdemo/raw/emer2";
bleeding1.setDataSource(path);
bleeding1.prepareAsync();
bleeding1.start();
textView.setText(getString(R.string.Firstaid2));
count = 2;
私は左または右にスワイプオーディオたびに変更するプログラムを作りたいので、私は、これを選択した理由。だから、私は左または右にスワイプするたびにプログラムsetDataSourceをもう一度、上記のコードは私のケースの1つです(オーディオは私が新しいパスを置くたびに起動しません)。
私もbleeding1.reset()とbleeding1.stop()を追加しますが、動作しません。私の問題は私のパスだと思いますが、アプリケーションをチェックする方法がわからないので、生のディレクトリ。これをテストするかチェックする方法はありますか? –
パスを使用する代わりに、MediaPlayer.create(Context、int)を使用してMediaPlayerをインスタンス化することができます。このメソッドは、コンテキストとリソースID(R.raw.emer2)を取ります。これは確実に動作し、prepare()/ prepareAsync()を呼び出す必要はありません。欠点は、データソースを変更するたびにMediaPlayerの新しいインスタンスを作成する必要があることです。 – Headcracker