android - 全屏活动无响应(不同的android版本?)
问题描述
这是我的全屏视频代码。它在模拟器中工作得很好,但在真正的安卓手机中却不行。
public void videoClick(View view){
Intent mIntent = new Intent(getBaseContext(),VideoFullscreenActivity.class);
videoUri = Uri.parse("android.resource://tk.myessentialoils.ideasapp/raw/"+ contentStringList[count][2]);
mIntent.putExtra("videoUri",videoUri);
startActivity(mIntent);
}
我的想法是Uri问题。
小米 android 的 uri 与其他的不同。
一些华为手机也不能正常工作。
那么有没有其他方法可以获取文件呢?
也许可以解决所有版本的android。
根据 Vivek Mishra 的建议编辑 1 ,
尝试以下操作
Intent mIntent = new Intent(getBaseContext(),VideoFullscreenActivity.class);
String path = "file:///android_asset/"+ contentStringList[count][2];
videoUri = Uri.parse(path);
mIntent.putExtra("videoUri",videoUri);
startActivity(mIntent);
但是我收到此错误>>无法
按照如何从资产文件夹加载视频?(使用 VideoView 播放)资产文件夹无法播放视频
编辑 2 个与 Nullpointerexception 相同的问题,我无法让媒体播放器使用我的代码。
Uri videoUri = getIntent().getParcelableExtra("videoUri");
VideoView videoView=findViewById(R.id.myvideoview);
videoView.setVideoURI(videoUri);
//videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.full));
MediaController mediaController = new MediaController(this);
videoView.setMediaController(mediaController);
videoView.start();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
我如何在上面的代码中实现下面的代码。
AssetFileDescriptor afd;
try {
afd = getAssets().openFd("v.mp4");
player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),
afd.getLength());
player.prepareAsync();
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
} catch (Exception e) { e.printStackTrace();}
解决方案
推荐阅读
- python - Jupyterhub:PermissionError:[Errno 13] 权限被拒绝:'jupyterhub-proxy.pid'
- javascript - 如何在javascript中获取几天前的日期
- ios - 具有动态标签宽度的堆栈视图分布
- ethereum - 从 ECDSA 公钥生成以太坊地址
- ssrs-2008 - 当我打开报告并查看总数时,Ssrs 表达式返回 #error
- reactjs - 如何验证我的组件中的一些输入?
- spring - 如何使用 Spring Boot 检测 API 请求是来自移动应用程序还是来自 Web
- c# - 从 MultipartFormDataContent 和 StreamContent 获取上传进度
- java - 在 glassfish4.1 上部署应用程序时出错
- c# - 在协程中值为真后无法返回字符串