在Android媒体播放器中播放文件

在Android媒体播放器中播放文件,第1张

概述我想播放一个记录在android的媒体播放器中播放的视频文件.我想通过意图调用媒体播放器并想播放传递的uri的相应文件.当我尝试时我得到一个异常ActivityNotFound可以任何人都帮我一个代码.@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intent

我想播放一个记录在android的媒体播放器中播放的视频文件.我想通过意图调用媒体播放器并想播放传递的uri的相应文件.当我尝试时我得到一个异常ActivityNotFound可以任何人都帮我一个代码.

@OverrIDe    protected voID onActivityResult(int requestCode, int resultCode, Intent data) {        // Todo auto-generated method stub        if (resultCode == RESulT_OK) {            if (requestCode == REQUEST_VIDEO_CAPTURED) {                uriVIDeo = data.getData();                Toast.makeText(VedioRecording.this, uriVIDeo.getPath(),                        Toast.LENGTH_LONG).show();            }        } else if (resultCode == RESulT_CANCELED) {            uriVIDeo = null;            Toast.makeText(VedioRecording.this, "Cancelled!", Toast.LENGTH_LONG)                    .show();        }        if (requestCode == 2) {            selectedImageUri = data.getData();            // OI file Manager            filemanagerstring = selectedImageUri.getPath();            // MEDIA galLERY            selectedImagePath = getPath(selectedImageUri);            Intent intent1 = new Intent(androID.provIDer.MediaStore.INTENT_ACTION_MUSIC_PLAYER).setData(selectedImageUri);            startActivityForResult(intent1, 3);//          vIDeovIEwPlay.setVIDeoURI(selectedImageUri);//          vIDeovIEwPlay.start();        }        if (requestCode == 3) {        }    }    private String getPath(Uri uri) {        String[] projection = { MediaStore.VIDeo.Media.DATA };        Cursor cursor = managedquery(uri, projection, null, null, null);        if (cursor != null) {            // HERE YOU WILL GET A NulLPOINTER IF CURSOR IS NulL            // THIS CAN BE, IF YOU USED OI file MANAGER FOR PICKING THE MEDIA            int column_index = cursor                    .getColumnIndexOrThrow(MediaStore.VIDeo.Media.DATA);            cursor.movetoFirst();            return cursor.getString(column_index);        } else {            return null;        }    }}

这是我的代码我正在调整activitynotfound异常

解决方法:

获得ActivityNotFound异常的最常见方案是,当您尝试启动已创建的活动而不在清单中声明它时.

发布用于启动活动的代码以确定.如果您尝试使用应用程序外部框架提供的活动,您可能只是错误地设置了Intent

代码发布后更新…

您的代码似乎正在使用意图 *** 作INTENT_ACTION_MUSIC_PLAYER并将图像URL作为数据传递(它是图像的路径还是您的变量名称错误?).您得到一个ActivityNotFoundException,因为系统没有注册任何意图接收器来处理该场景.此外,如果您查看此常量的文档,您会看到它们在某些时候标记为已弃用:

http://developer.android.com/reference/android/provider/MediaStore.html#INTENT_ACTION_MUSIC_PLAYER

我通常会使用Intent.ACTION_VIEW并将mime类型与数据一起传递.像下面这样的东西……

Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.parse(pathToVIDeofile), "vIDeo/*");startActivity(intent);

通过将mime类型的“vIDeo / *”传递给setDataAndType,您对系统的请求更加具体.

如果要查询系统以查明是否可以处理Intent(意味着运行代码的用户设备已注册可以处理Intent的Activity),则可以使用PackageManager.queryIntentActivitIEs方法:

queryIntentActivities

总结

以上是内存溢出为你收集整理的在Android媒体播放器中播放文件全部内容,希望文章能够帮你解决在Android媒体播放器中播放文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存