通过已安装的应用程序在Android中处理媒体文件
我有一个记录音频和视频的应用程序。然后,应用程序中有一个列表,显示这些录制的文件。当用户点击其中一个文件时,我想显示一个应用程序选项,用户可以选择播放这个点击的文件。下面是一个例子 我在互联网上看到的所有例子都是使用我已经在做的媒体播放器,但我希望暂停、停止等功能由用户设备中已经可用的应用程序处理通过已安装的应用程序在Android中处理媒体文件,android,android-mediaplayer,android-video-player,android-audiorecord,Android,Android Mediaplayer,Android Video Player,Android Audiorecord,我有一个记录音频和视频的应用程序。然后,应用程序中有一个列表,显示这些录制的文件。当用户点击其中一个文件时,我想显示一个应用程序选项,用户可以选择播放这个点击的文件。下面是一个例子 我在互联网上看到的所有例子都是使用我已经在做的媒体播放器,但我希望暂停、停止等功能由用户设备中已经可用的应用程序处理 这可能吗?如果是这样,怎么办?我想你处理音频和视频的活动应该在AndroidManifest中有这个。 下面的intent文件管理器用于音频文件,类似地,您可以为相同的活动添加视频文件 <ac
这可能吗?如果是这样,怎么办?我想你处理音频和视频的
活动应该在AndroidManifest
中有这个。
下面的intent文件管理器
用于音频文件,类似地,您可以为相同的活动
添加视频文件
<activity ...>
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="audio/*"/>
</intent-filter>
</activity>
第二个参数就是我们需要传递给调用的应用程序的数据,基本上我们传递数据的URI
编辑2:结果\u OK
是活动
的继承变量。你不需要定义它
我希望它能对你有所帮助。我通过在互联网上阅读找到了答案
首先准备文件位置,然后在此位置打开包含数据的意图
Uri fileURi = Uri.parse(tempFileURi); //i.e. /storage/emulated/0/Android/data/com.sahilsaid.appname/files/Music/Recording200.3gp
File file = new File(fileURi.toString());
if (file.exists()) {
Uri finalFileUri = Uri.fromFile(file);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(finalFileUri, URLConnection.guessContentTypeFromName(finalFileUri.toString()));
startActivity(intent);
}
您还需要修改AndroidManifest.xml文件,并按照@Aky的建议添加意图过滤器
<activity
android:name=".exampleActivity"
android:label="@string/title_activity_example">
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="audio/*"/>
</intent-filter>
</activity>
但用户单击列表中的某个记录后,我该怎么办。“我需要打一个特别的电话吗?”萨希尔编辑了我的回答。你可以找到解决办法。太好了,我现在就去试试。。。谢谢,洛蒂试一试,但效果并不如预期。单击列表项时不会发生任何事情。将显示“我的toast”消息,该消息链接到一个列表项单击方法。@Sahil作为您处理片段的工具。使用getActivity().setResult(…)代码>
<activity
android:name=".exampleActivity"
android:label="@string/title_activity_example">
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="audio/*"/>
</intent-filter>
</activity>