📌  相关文章
📜  如何以编程方式从 android 中选择音频 (1)

📅  最后修改于: 2023-12-03 14:51:48.813000             🧑  作者: Mango

如何以编程方式从 Android 中选择音频

在 Android 应用程序中,我们有时需要让用户从设备中选择一个音频文件。下面将介绍如何以编程方式从 Android 中选择音频。

1. 创建 Intent 对象

我们需要创建一个 Intent 对象,并为其设置动作(ACTION_GET_CONTENT)和数据类型(audio/*)。这将启动一个系统的文件选择器,允许用户选择设备中的任何音频文件。

代码示例:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
2. 启动系统文件选择器

接下来,我们需要使用 startActivityForResult() 方法启动系统的文件选择器。这个方法要求我们提供一个请求代码(可以是任意整数),在文件选择器返回结果时,我们将使用此请求代码接收结果。

代码示例:

startActivityForResult(Intent.createChooser(intent, "Select Audio"), REQUEST_CODE);
3. 处理选择的文件

当用户选择一个文件时,系统将调用 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 中选择音频的介绍。