📅  最后修改于: 2023-12-03 14:51:48.813000             🧑  作者: Mango
在 Android 应用程序中,我们有时需要让用户从设备中选择一个音频文件。下面将介绍如何以编程方式从 Android 中选择音频。
我们需要创建一个 Intent 对象,并为其设置动作(ACTION_GET_CONTENT)和数据类型(audio/*)。这将启动一个系统的文件选择器,允许用户选择设备中的任何音频文件。
代码示例:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
接下来,我们需要使用 startActivityForResult() 方法启动系统的文件选择器。这个方法要求我们提供一个请求代码(可以是任意整数),在文件选择器返回结果时,我们将使用此请求代码接收结果。
代码示例:
startActivityForResult(Intent.createChooser(intent, "Select Audio"), REQUEST_CODE);
当用户选择一个文件时,系统将调用 onActivityResult() 方法。我们可以在这个方法中获取所选文件的 URI,并进一步处理它。
代码示例:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
Uri audioUri = data.getData();
// 处理所选的音频文件
}
}
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建 Intent 对象
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
// 启动系统文件选择器
startActivityForResult(Intent.createChooser(intent, "Select Audio"), REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
Uri audioUri = data.getData();
// 处理所选的音频文件
}
}
}
以上就是如何以编程方式从 Android 中选择音频的介绍。