全志H6 Android 9 MediaPlayer兼容问题

简介: 全志H6 Android 9 MediaPlayer兼容问题

平台


全志H6 + Android 9


问题


使用MediaPlayer编写的视频播放器, 在RK平台上测试和低于Android 9 或手机运行都是正常的, H6升级到Android 9后, 播放器出现图像快进的问题, 50秒的视频, 不到3秒就跳完了.


在后续测试中发现, 同样的视频, 用系统的播放器播放, 可以正常播放.


测试代码


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextureView android:id="@+id/texture"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</RelativeLayout>


TextureView texture = (TextureView)findViewById(R.id.texture);
        MediaPlayer player = MediaPlayer.create(this, Uri.fromFile(f));
        /*if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            float speed = player.getPlaybackParams().getSpeed();
            Logger.d(TAG, "playWithMediaPlayer speed = " + speed);
            PlaybackParams par = player.getPlaybackParams();
            par.setSpeed(0.1f);
            player.setPlaybackParams(par);
        }*/
        player.setSurface(new Surface(texture.getSurfaceTexture()));
        player.start();


解决


原因: 使用了TextureView作为显示控件, 换成SurfaceView问题自然而然地解决了.

更深层次的原因, 手上没有系统源码, 所以, 只有全志自己知道了.


修改后代码:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <SurfaceView android:id="@+id/sv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</RelativeLayout>
SurfaceView sv = (SurfaceView)findViewById(R.id.sv);
        MediaPlayer player = MediaPlayer.create(this, Uri.fromFile(f));
        player.setDisplay(sv.getHolder());
        player.start();
相关文章
|
4月前
|
XML Java Android开发
Android Studio App开发中使用录音机、MediaRecorder录制音频和MediaPlayer播放音频讲解及实战(附源码)
Android Studio App开发中使用录音机、MediaRecorder录制音频和MediaPlayer播放音频讲解及实战(附源码)
75 0
|
4月前
|
XML 存储 Java
Android 开发音频录播中媒体录制器MediaRecorder和媒体播放器MediaPlayer的讲解及实战(超详细 附源码)
Android 开发音频录播中媒体录制器MediaRecorder和媒体播放器MediaPlayer的讲解及实战(超详细 附源码)
43 0
|
8月前
|
Android开发
Android 使用MediaPlayer和SurfaceView播放视频
Android 使用MediaPlayer和SurfaceView播放视频
68 0
|
Android开发
Android MediaPlayer 播放prepareAsync called in state 8解决办法
Android MediaPlayer 播放prepareAsync called in state 8解决办法
185 0
|
XML 缓存 Android开发
Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐(下)
Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐(下)
172 0
Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐(下)
|
Java Android开发
Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐(上)
Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐(上)
275 0
Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐(上)
|
XML Android开发 数据格式
Android MediaPlayer音频播放器详解
Android MediaPlayer音频播放器详解
466 0
Android MediaPlayer音频播放器详解
|
XML Android开发 数据格式
【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上的兼容问题 | 触摸获取焦点 | 按键获取焦点 )
455 0
|
编解码 Android开发 开发者
【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )
【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )
389 0
【Android 安装包优化】WebP 图片格式兼容与性能 ( Android 中的 WebP 图片格式兼容问题 | Android 中的 WebP 图片格式性能 )