私はアプリを開発しています。そのアプリには「サウンドを選択」というボタンが1つあります。ユーザーがこのボタンをクリックすると、ファイルマネージャ/メモリから任意のオーディオファイルを選択するように求められます。Android sdcard/file managerからオーディオファイルを読み込んで再生する方法
私はこのために、Intent.Action_GetData
を使用する必要があることを知っています。私は同じことをやっている:Android 4.4
前に、それは返すので
//code start
Intent intent = new Intent();
intent.setType("audio/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,1);
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
if(requestCode == 1){
if(resultCode == RESULT_OK){
//the selected audio.
Uri uri = data.getData();
int SoundID=soundPool.Load(uri.toString(), 1);
//SoundPool is already constructed and is working perfectly for the resource files
PlaySound(SoundID);
//PlaySound method is already defined
}
}
super.onActivityResult(requestCode, resultCode, data);
}
//end of code
が、それは今
を働いていない、OnActivityResult
に、私は、どのようにユーザーが選択したファイルの適切なURIをロードすることになっていませんよ異なるURIを返し、Android 4.4
の後に別のURIをintent.GetData();
に返します。今、私は何をしなければならないのですか?
また、私はオーディオファイルを再生するために、SoundPool
を使用しなければならないことを知っています。実際には、リソース/ raw /オーディオファイルに対してうまく動作していますが、/SoundPool
のファイルをURI
から再生しますか?
「OnActivityResult」で行ったことをコードを投稿することはできますか?そして、あなたはどのように 'URI'を取得していますか? –
@Prathamesh Toradmalはコード –