如何在android中动态播放音频文件

如何在android中动态播放音频文件,android,audio,android-intent,Android,Audio,Android Intent,我有一个动态的音频文件列表,它存储在sd卡的一个特定文件夹中,当用户单击一个特定文件时,我将在onItemClick方法中的int中获得位置我需要创建一个带有两个按钮的警报对话框,第一个按钮是播放该特定位置的特定文件,第二个按钮是删除该文件。如何做到这一点?使用onItemClickListener注册您的列表,并在该方法中填充一个有2个按钮的对话框 下面是一些代码: mylistview.setOnItemClickListener(new OnItemClickListener() {

我有一个动态的音频文件列表,它存储在sd卡的一个特定文件夹中,当用户单击一个特定文件时,我将在onItemClick方法中的int中获得位置我需要创建一个带有两个按钮的警报对话框,第一个按钮是播放该特定位置的特定文件,第二个按钮是删除该文件。如何做到这一点?

使用
onItemClickListener
注册您的列表,并在该方法中填充一个有2个按钮的对话框

下面是一些代码:

mylistview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position,
                long id) {

            String file_path_in_the_sd_card = YOURADAPTER.getFilePathAtPosition(position);

            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("Option")
                   .setCancelable(false)
                   .setPositiveButton("Play", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           //start the activity the will play the song and provide the path to it 

                       }
                   })
                   .setNegativeButton("Delete", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                           //make a code that will delete the file maybe like this 
                           File file = new File(file_path_in_sd_card);
                           file.delete();

                           //remove it aslo from your adapter 

                           myadpter.removeFile(poistion);
                           myadpater.notifyDataSetChange();

                            dialog.cancel();
                       }
                   });
            AlertDialog alert = builder.create();




}
mylistview.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图arg0、视图视图、内部位置、,
长id){

sd卡中的字符串文件路径=YOURADAPTER.getFilePathAtPosition(位置); AlertDialog.Builder=新建AlertDialog.Builder(此); builder.setMessage(“选项”) .setCancelable(错误) .setPositiveButton(“播放”,新的DialogInterface.OnClickListener(){ public void onClick(DialogInterface对话框,int-id){ //启动活动,播放歌曲并提供路径 } }) .setNegativeButton(“删除”,新建DialogInterface.OnClickListener(){ public void onClick(DialogInterface对话框,int-id){ //制作一个删除文件的代码,可能像这样 文件文件=新文件(sd卡中的文件路径); delete(); //将其从适配器上卸下 myadpter.removeFile(position); myadpater.notifyDataSetChange(); dialog.cancel(); } }); AlertDialog alert=builder.create(); }

这段代码帮助您思考如何做这项工作,但它不是一个完整的示例。

String file\u path\u in\u the\u sd\u card=YOURADAPTER.getFilePathAtPosition(position);这一行给了我一个错误..你应该在你的适配器中实现这个方法,也许如果发布你的适配器代码,我会做一些对你有用的事情,在你的适配器中,我正在传递我的适配器的对象,但它给了我一个错误你的适配器没有这个方法,你应该定义它,发布你的适配器代码返回该vi的文件路径电子战项目:)