2

SD カードに AMR ファイルがほとんどありません。デフォルトのAndroid音楽プレーヤーを使用してこれらのamrファイルを再生したい。TODO this、私は以下のコードを試しました:

        Uri myUri = Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath() + "/myfiles/filename.amr");
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
    intent.setDataAndType(myUri, "audio/*");
    startActivity(intent);

と私のスタックトレース:

07-16 15:23:47.284: D/Instrumentation(32496): checkStartActivityResult :Intent { act=android.intent.action.VIEW dat=/storage/emulated/0/myfiles/filename.amr typ=audio/* }
07-16 15:23:47.284: D/Instrumentation(32496): checkStartActivityResult inent is instance of inent: 07-16 15:23:47.284: D/AndroidRuntime(32496): Shutting down VM
07-16 15:23:47.284: W/dalvikvm(32496): threadid=1: thread exiting with uncaught exception (group=0x414feac8)
07-16 15:23:47.304: E/AndroidRuntime(32496): FATAL EXCEPTION: main
07-16 15:23:47.304: E/AndroidRuntime(32496): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=/storage/emulated/0/myfiles/filename.amr typ=audio/* }
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1659)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1434)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.Activity.startActivityForResult(Activity.java:3430)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.Activity.startActivityForResult(Activity.java:3391)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.Activity.startActivity(Activity.java:3626)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.Activity.startActivity(Activity.java:3594) 07-16 15:23:47.304: E/AndroidRuntime(32496): at com.example.ui.MainActivity.onItemClick(MainActivity.java:85)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.widget.AdapterView.performItemClick(AdapterView.java:301)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.widget.AbsListView.performItemClick(AbsListView.java:1502)
07-16 15:23:47.304: E/AndroidRuntime(32496): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3250) 07-16 15:23:47.304: E/AndroidRuntime(32496): at android.widget.AbsListView$1.run(AbsListView.java:4299) 07-16 15:23:47.304: E/AndroidRuntime(32496): at android.os.Handler.handleCallback(Handler.java:725) 07-16 15:23:47.304: E/AndroidRuntime(32496): at android.os.Handler.dispatchMessage(Handler.java:92) 07-16 15:23:47.304: E/AndroidRuntime(32496): at android.os.Looper.loop(Looper.java:137) 07-16 15:23:47.304: E/AndroidRuntime(32496): at android.app.ActivityThread.main(ActivityThread.java:5227)
07-16 15:23:47.304: E/AndroidRuntime(32496): at java.lang.reflect.Method.invokeNative(Native Method)
07-16 15:23:47.304: E/AndroidRuntime(32496): at java.lang.reflect.Method.invoke(Method.java:511) 07-16 15:23:47.304: E/AndroidRuntime(32496): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 07-16 15:23:47.304: E/AndroidRuntime(32496): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 07-16 15:23:47.304: E/AndroidRuntime(32496): at dalvik.system.NativeStart.main(Native Method)

どうすればこれを達成できますか? このamrがファイルマネージャーで開かれると、利用可能な音楽プレーヤーを選択して再生を開始するダイアログが表示されます。私が達成したいのと同じことです。

アプリでこのポップアップを取得するために達成する私の目標

4

1 に答える 1

0

mimeType を「audio/*」ではなく「audio/amr」に設定してみてください。おそらく、「file://」 + Environment.getExternalStorageDirectory() も実行する必要があります

ここを参照してください:録音したファイルを再生するためにネイティブ プレーヤーを開くことができない問題は何ですか?

于 2014-01-22T10:31:23.460 に答える