当前位置: 首页 > news >正文

iwebshop怎么做网站网络营销推广外包服务

iwebshop怎么做网站,网络营销推广外包服务,网站建设后台,一起做陶瓷的网站最近项目中在使用 ExoPlayer 来进行视频的播放,开发过程中遇到了部分视频打开后黑屏的问题,报错日志如下。 E Audio codec error android.media.MediaCodec$CodecException: Error 0xe E Playback error androidx.media3.exoplayer.ExoPlaybackExcept…

最近项目中在使用 ExoPlayer 来进行视频的播放,开发过程中遇到了部分视频打开后黑屏的问题,报错日志如下。

E  Audio codec error android.media.MediaCodec$CodecException: Error 0xe
E  Playback error androidx.media3.exoplayer.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(2, null, null, audio/mp4a-latm, mp4a.40.1, -1, und, [-1, -1, -1.0, null], [2, 44100]), format_supported=YES Caused by: androidx.media3.exoplayer.mediacodec.MediaCodecDecoderException: Decoder failed: c2.android.aac.decoder at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.createDecoderException(MediaCodecRenderer.java:976)

经过在网上的一番查找,发现是需要自行编译 ffmpeg 作为音频解码来使用的,具体可以参考这篇文章。

https://juejin.cn/post/7115987944099282952

但是有一点需要注意,文章里面使用的 ExoPlayer 现在(2024.3.3)google 已经迁移了这个项目到 androidx.media3 这个项目里了,所以编译时需要注意看一下代码中使用的版本是什么。

下面是 ExoPlayer 官方的教程

https://github.com/google/ExoPlayer/tree/r2.18.0/extensions/ffmpeg

这个是 Media3 的官方教程

https://github.com/androidx/media/tree/release/libraries/decoder_ffmpeg

官方文档里面也都是推荐使用 media3 了,毕竟后续的更新维护都会在这个项目上进行。

https://developer.android.com/media/media3/exoplayer/hello-world?hl=zh-cn

编译完成后,通过 android studio 打包出对应的 aar 文件即可,然后在代码中配置使用。下面代码就是使用方法,注释掉的是 exoplayer 2 的使用方式,剩下的是 media3 的方式。


//import static com.google.android.exoplayer2.DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Handler;//
//import com.google.android.exoplayer2.DefaultRenderersFactory;
//import com.google.android.exoplayer2.Renderer;
//import com.google.android.exoplayer2.audio.AudioRendererEventListener;
//import com.google.android.exoplayer2.audio.AudioSink;
//import com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer;
//import com.google.android.exoplayer2.mediacodec.MediaCodecSelector;import androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer;
import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.Renderer;
import androidx.media3.exoplayer.audio.AudioRendererEventListener;
import androidx.media3.exoplayer.audio.AudioSink;
import androidx.media3.exoplayer.mediacodec.MediaCodecSelector;import java.util.ArrayList;@SuppressLint("UnsafeOptInUsageError")class FfmpegRenderersFactory extends DefaultRenderersFactory {/*** @param context A {@link Context}.*/public FfmpegRenderersFactory(Context context) {super(context);setExtensionRendererMode(EXTENSION_RENDERER_MODE_ON);}@Overrideprotected void buildAudioRenderers(Context context, int extensionRendererMode, MediaCodecSelector mediaCodecSelector, boolean enableDecoderFallback, AudioSink audioSink, Handler eventHandler, AudioRendererEventListener eventListener, ArrayList<Renderer> out) {out.add(new FfmpegAudioRenderer());super.buildAudioRenderers(context, extensionRendererMode, mediaCodecSelector, enableDecoderFallback, audioSink, eventHandler, eventListener, out);}//    public FfmpegRenderersFactory(Context context) {
//        super(context);
//        setExtensionRendererMode(EXTENSION_RENDERER_MODE_PREFER);
//    }
//
//
//
//      @Override
//      protected void buildAudioRenderers(Context context, int extensionRendererMode,
//                                         MediaCodecSelector mediaCodecSelector,
//                                         boolean enableDecoderFallback, AudioSink audioSink,
//                                         Handler eventHandler, AudioRendererEventListener
//                                                       eventListener, ArrayList<Renderer> out) {
//          out.add(new FfmpegAudioRenderer());
//
//          super.buildAudioRenderers(context, extensionRendererMode, mediaCodecSelector, enableDecoderFallback, audioSink, eventHandler, eventListener, out);
//      }}

接着在初始化的时候加入到构造函数中即可。

val player = ExoPlayer.Builder(this,FfmpegRenderersFactory(this)).build()
http://www.khdw.cn/news/45817.html

相关文章:

  • 安卓做任务赚钱网站深圳疫情最新情况
  • 施工企业资质包括哪些河南郑州网站推广优化
  • 公司网站建设需要咨询什么问题口碑营销成功案例有哪些
  • 做网赌需要在哪些网站投广告百度客服在线咨询
  • 湖南的商城网站建设百度关键词指数工具
  • 150m网站空间关键词排名优化怎么做
  • 猪八戒网站找做微信小程序的小程序自助搭建平台
  • 下载织梦做网站软件优化教程网官网
  • 外贸公司的网站建设模板下载链接买卖价格
  • wordpress设置url错误合肥网络公司seo
  • 照片做视频的软件 模板下载网站好免费自媒体网站
  • 九江做网站公司搜狐酒业峰会
  • 企业做网站这些问题必须要注意互联网最赚钱的行业
  • 仿牌做外贸建网站石家庄整站优化技术
  • 汕头网站搭建网络推广怎么收费
  • 系统网站自助建站ks刷粉网站推广马上刷
  • 做网站的计划概要国外搜索引擎大全不屏蔽
  • 深圳做棋牌网站建设多少钱注册城乡规划师报考条件
  • 如何在360网站网页上做笔记百度老年搜索
  • 怎么分析竞争对手网站广告营销策划方案模板
  • 海南网站制作一网站建设网络服务运营商
  • 深圳外贸网站开发建设海外广告投放公司
  • 网站公安备案通知书it培训机构排名及学费
  • wordpress全屏滚动网站推广方案策划
  • 哪里有网站建设电话百度有钱花人工客服
  • 要建一个网站怎么做网络宣传
  • 阜阳网站建设哪家好广州网络seo公司
  • 日喀则网站建设网店推广方法
  • 三站合一 网站建设网络营销策划的方法
  • 怎样做像绿色和平组织类似的网站我有广告位怎么找客户