首页 > 解决方案 > Android 9.0 ijkplayer setSpeed 失败

问题描述

当我尝试在 Android 9.0 上更改视频速度时,它不起作用。仅适用于 9.0 且仅当设置速度超过 1.0 时。我只是使用 mIjkVideoPlayer.setSpeed(1.0)。它适用于 9.0 以下的所有其他设备。ijkplayer 版本:0.8.8,这是错误日志:

11-29 15:55:14.241 6747-6801/com.xiao.nicevieoplayer E/J4A: J4AC_android_media_AudioTrack__setSpeed 1.100000 11-29 15:55:14.241 6747-6801/com.xiao.nicevieoplayer D/AudioTrack: isSampleRateSpeed80 mAfLatency_count denied :1920 mAfSampleRate:48000 sampleRate:44100 speed:1.100000 mFrameCount:3544 < minFrameCount:3888 11-29 15:55:14.241 6747-6801/com.xiao.nicevieoplayer W/AudioTrack: setPlaybackRate(1.100000, 1.000000) 失败11-29 15:55:14.242 6747-6801/com.xiao.nicevieoplayer W/System.err: java.lang.IllegalArgumentException: 参数超出范围 11-29 15:55:14.242 6747-6801/com.xiao.nicevieoplayer W/System.err: at android.media.AudioTrack.native_set_playback_params(Native Method) 11-29 15:55:14.242 6747-6801/com.xiao.nicevieoplayer W/System.err: at android.media.AudioTrack.setPlaybackParams(音轨。java:1902) 11-29 15:55:14.242 6747-6801/com.xiao.nicevieoplayer W/System.err: java.lang.IllegalArgumentException: 参数超出范围 11-29 15:55:14.242 6747-6801/com .xiao.nicevieoplayer W/System.err: at android.media.AudioTrack.native_set_playback_params(Native Method) 11-29 15:55:14.242 6747-6801/com.xiao.nicevieoplayer W/System.err: at android.media. AudioTrack.setPlaybackParams(AudioTrack.java:1902)

标签: javaandroidijkplayer

解决方案


在初始化 ijkMediaPlayer 时添加这一行:

ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "soundtouch", 1);

推荐阅读