CarGuo / GSYVideoPlayer

视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,16k page size,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
https://juejin.cn/user/817692379985752/posts
Apache License 2.0
20.27k stars 4.2k forks source link

播放无声音,切换音轨后也无声音 #4055

Open meijius opened 3 days ago

meijius commented 3 days ago

问题描述:机顶盒播放带音轨的视频,无声音,切换音轨也无声音。EXO和 IJK模式 都 无声音

  1. 接入SDK后的APP,播放页,播放视频无声音,切换音轨无声音。
  2. demo切换音轨报错。demo正常播放带音轨的视频也无声音。播放其他视频正常、

出现问题的视频流

局域网视频视频流,比较大。暂无地址,

问题机型/系统:

例如 机顶盒HiSTBAndroidV500 Android12.1

GSY依赖版本

com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v9.0.0-release-jitpack'

Demo中的复现步骤

Demo中的 打开VIDEO页面 和 DETAIL模式 打开带音轨的视频 无声音 切换音轨成功也无声音,

问题代码:(如果有) MappingTrackSelector mappingTrackSelector = exo2MediaPlayer.getTrackSelector(); MappingTrackSelector.MappedTrackInfo mappedTrackInfo = mappingTrackSelector.getCurrentMappedTrackInfo(); if (mappedTrackInfo != null) { for (int i = 0; i < mappedTrackInfo.getRendererCount(); i++) { TrackGroupArray rendererTrackGroups = mappedTrackInfo.getTrackGroups(i); if (C.TRACK_TYPE_AUDIO == mappedTrackInfo.getRendererType(i)) { //判断是否是音轨 for (int groupIndex = 0; groupIndex < rendererTrackGroups.length; groupIndex++) { TrackGroup trackGroup = rendererTrackGroups.get(groupIndex); LogUtil.d("checkAudio", trackGroup.getFormat(0).toString()); AudioSubtitleListBean.DataDTO.AudioListDTO audioListDTO = new AudioSubtitleListBean.DataDTO.AudioListDTO(); audioListDTO.setId(groupIndex); String getDisplayName = trackGroup.getFormat(0).language; try{ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getDisplayName = Locale.forLanguageTag(getDisplayName).getDisplayName(); } }catch (Exception e){ e.printStackTrace(); } audioListDTO.setAudioName(getDisplayName); audioListDTO.setLanguageCode(trackGroup.getFormat(0).language); audioListDTO.setAudioUrl(trackGroup.getFormat(0).toString()); if(CommonUtil.isNotEmpty(getDisplayName)){ audioListDTOList.add(audioListDTO); } if(groupIndex == 0){ defAudioListDTO = audioListDTO; DataCache.defAudioListDTO = defAudioListDTO; DataCache.saveAudioSubtitleListBean(season, eqisode, moviceid, null, defAudioListDTO); setAudio(defAudioListDTO, "0"); } } } else if (C.TRACK_TYPE_TEXT == mappedTrackInfo.getRendererType(i)) { //判断是否是字幕 for (int groupIndex = 0; groupIndex < rendererTrackGroups.length; groupIndex++) { TrackGroup trackGroup = rendererTrackGroups.get(groupIndex); LogUtil.d("checkSubTitle", trackGroup.getFormat(0).toString()); } } } }

trackSelector.setParameters(trackSelector.getParameters().buildUpon() .setPreferredAudioLanguages(audioListDTO.getLanguageCode()) .build());

问题log(如果有)

--------- beginning of main --------- beginning of system 2024-11-19 17:57:17.279 21390-21390 ViewRootIm...nActivity] com.example.gsyvideoplayer W Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=375.24902, y[0]=515.76764, toolType[0]=TOOL_TYPE_MOUSE, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=14680076, downTime=14129116, deviceId=7, source=0x2002 } 2024-11-19 17:57:20.128 21390-22025 HttpProxyCacheDebuger com.example.gsyvideoplayer E ** injectCustomHeaders ** :0 2024-11-19 17:57:20.145 21390-23650 HttpProxyCacheDebuger com.example.gsyvideoplayer I Opened connections: 0 2024-11-19 17:57:20.145 21390-22025 HttpProxyCacheDebuger com.example.gsyvideoplayer I Ping response: ping ok, pinged? true 2024-11-19 17:57:17.284 21390-21390 chatty com.example.gsyvideoplayer I uid=10043(com.example.gsyvideoplayer) identical 2 lines 2024-11-19 17:57:17.286 21390-21390 ViewRootIm...nActivity] com.example.gsyvideoplayer W Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=375.24902, y[0]=515.76764, toolType[0]=TOOL_TYPE_MOUSE, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=14680076, downTime=14129116, deviceId=7, source=0x2002 } 2024-11-19 17:57:20.963 21390-21390 ViewRootIm...ailPlayer] com.example.gsyvideoplayer D updatePointerIcon called with position out of bounds 2024-11-19 17:57:22.656 21390-21424 OpenGLRenderer com.example.gsyvideoplayer D endAllActiveAnimators on 0x8dbb8c00 (RippleDrawable) with handle 0x93410d40 2024-11-19 17:57:22.669 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I onClickStartThumb 2024-11-19 17:57:22.669 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I onStartPrepared 2024-11-19 17:57:22.669 21390-21390 AudioManager com.example.gsyvideoplayer W Use of stream types is deprecated for operations other than volume control 2024-11-19 17:57:22.669 21390-21390 AudioManager com.example.gsyvideoplayer W See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case 2024-11-19 17:57:22.675 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I changeUiToPreparingShow 2024-11-19 17:57:22.748 21390-21390 ExoPlayerImpl com.example.gsyvideoplayer I Init ed483e1 [AndroidXMedia3/1.4.1] [X96Q, X96Q, Hivendor, 28] 2024-11-19 17:57:22.760 21390-21390 AudioManager com.example.gsyvideoplayer D hdmipolicy tst 2 2024-11-19 17:57:22.768 21390-21390 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:22.768 21390-21390 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:22.768 21390-21390 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =1 2024-11-19 17:57:22.768 21390-21390 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =2 2024-11-19 17:57:22.804 21390-21390 EventLogger com.example.gsyvideoplayer D state [0.06, B] 2024-11-19 17:57:22.826 21390-21390 EventLogger com.example.gsyvideoplayer D loading [true] 2024-11-19 17:57:23.345 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 23784(2MB) AllocSpace objects, 4(144KB) LOS objects, 49% free, 7MB/15MB, paused 142us total 149.822ms 2024-11-19 17:57:24.073 21390-21420 LeakCanary com.example.gsyvideoplayer D Setting up flushing for Thread[ExoPlayer:PlaceholderSurface,5,main] 2024-11-19 17:57:24.074 21390-21420 LeakCanary com.example.gsyvideoplayer D Setting up flushing for Thread[ExoPlayer:Playback,5,main] 2024-11-19 17:57:24.662 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 3221(309KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 14MB/29MB, paused 274us total 144.111ms 2024-11-19 17:57:26.714 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 1748(254KB) AllocSpace objects, 0(0B) LOS objects, 44% free, 29MB/53MB, paused 386us total 124.570ms 2024-11-19 17:57:21.528 21390-21390 chatty com.example.gsyvideoplayer I uid=10043(com.example.gsyvideoplayer) identical 28 lines 2024-11-19 17:57:21.545 21390-21390 ViewRootIm...ailPlayer] com.example.gsyvideoplayer D updatePointerIcon called with position out of bounds 2024-11-19 17:57:28.591 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 150(190KB) AllocSpace objects, 4(6MB) LOS objects, 32% free, 50MB/74MB, paused 1.687ms total 118.657ms 2024-11-19 17:57:30.382 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 152(190KB) AllocSpace objects, 3(5MB) LOS objects, 25% free, 69MB/93MB, paused 116us total 111.355ms 2024-11-19 17:57:31.521 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 163(151KB) AllocSpace objects, 3(5MB) LOS objects, 19% free, 96MB/120MB, paused 320us total 108.865ms 2024-11-19 17:57:32.447 21390-23653 MediaCodecInfo com.example.gsyvideoplayer D NoSupport [codec.profileLevel, hvc1.1.6.L90.90, video/hevc] [OMX.hivendor.video.decoder.hevc, video/hevc] [X96Q, X96Q, Hivendor, 28] 2024-11-19 17:57:32.450 21390-23653 MediaCodecInfo com.example.gsyvideoplayer D NoSupport [codec.profileLevel, hvc1.1.6.L90.90, video/hevc] [OMX.hivendor.video.decoder.hevc, video/hevc] [X96Q, X96Q, Hivendor, 28] 2024-11-19 17:57:32.453 21390-23653 AudioManager com.example.gsyvideoplayer D hdmipolicy tst 2 2024-11-19 17:57:32.459 21390-22110 AudioManager com.example.gsyvideoplayer D hdmipolicy tst 2 2024-11-19 17:57:32.459 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.459 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.459 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =1 2024-11-19 17:57:32.459 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =2 2024-11-19 17:57:32.460 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.460 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =1 2024-11-19 17:57:32.472 21390-23653 AudioManager com.example.gsyvideoplayer D hdmipolicy tst 2 2024-11-19 17:57:32.477 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.477 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.477 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =1 2024-11-19 17:57:32.477 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =2 2024-11-19 17:57:32.478 21390-22110 AudioManager com.example.gsyvideoplayer D hdmipolicy tst 2 2024-11-19 17:57:32.525 21390-23653 MediaCodecInfo com.example.gsyvideoplayer D NoSupport [codec.profileLevel, hvc1.1.6.L90.90, video/hevc] [OMX.hivendor.video.decoder.hevc, video/hevc] [X96Q, X96Q, Hivendor, 28] 2024-11-19 17:57:32.571 21390-23729 OMXClient com.example.gsyvideoplayer I IOmx service obtained 2024-11-19 17:57:32.592 21390-23728 SurfaceUtils com.example.gsyvideoplayer D connecting to surface 0x8fcdd008, reason connectToSurface 2024-11-19 17:57:32.592 21390-23728 MediaCodec com.example.gsyvideoplayer I [OMX.google.hevc.decoder] setting surface generation to 21903365 2024-11-19 17:57:32.592 21390-23728 SurfaceUtils com.example.gsyvideoplayer D disconnecting from surface 0x8fcdd008, reason connectToSurface(reconnect) 2024-11-19 17:57:32.592 21390-23728 SurfaceUtils com.example.gsyvideoplayer D connecting to surface 0x8fcdd008, reason connectToSurface(reconnect) 2024-11-19 17:57:32.596 21390-23729 ACodec com.example.gsyvideoplayer E [OMX.google.hevc.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010 2024-11-19 17:57:32.596 21390-23729 ACodec com.example.gsyvideoplayer I [OMX.google.hevc.decoder] prepareForAdaptivePlayback(960x540) 2024-11-19 17:57:32.600 21390-23729 ACodec com.example.gsyvideoplayer I codec does not support config priority (err -1010) 2024-11-19 17:57:32.612 21390-21390 ExoPlayer:Playb com.example.gsyvideoplayer I type=1400 audit(0.0:13468): avc: denied { call } for scontext=u:r:untrusted_app:s0:c43,c256,c512,c768 tcontext=u:r:hal_hwsysmanager:s0 tclass=binder permissive=1 2024-11-19 17:57:32.616 21390-23653 MediaCodec com.example.gsyvideoplayer D MediaCodec::start() setprop service.media.playstatus running 2024-11-19 17:57:32.687 21390-23653 AudioManager com.example.gsyvideoplayer D hdmipolicy tst 2 2024-11-19 17:57:32.691 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.692 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList format =2 2024-11-19 17:57:32.692 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =1 2024-11-19 17:57:32.692 21390-23653 AudioManager com.example.gsyvideoplayer D infoListFromPortList Channel =2 2024-11-19 17:57:32.697 21390-23728 MediaCodec com.example.gsyvideoplayer D [OMX.google.hevc.decoder] setting dataspace on output surface to #104 2024-11-19 17:57:32.982 21390-21390 EventLogger com.example.gsyvideoplayer D state [10.15, R] 2024-11-19 17:57:33.016 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E cancelTimeOutBuffer 2024-11-19 17:57:33.019 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I onPrepared 2024-11-19 17:57:33.019 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E * onPrepared *** 测试视频 2024-11-19 17:57:33.020 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E onPrepared ** com.example.gsyvideoplayer.video.LandLayoutVideo{84e98e6 V.E...... ......ID 0,0-1080,400 #7f0a00db app:id/detail_player} 2024-11-19 17:57:33.020 21390-21390 Orientatio...ntListener com.example.gsyvideoplayer W Cannot detect sensors. Invalid disable 2024-11-19 17:57:33.021 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E *** setSeekParameter **** 2024-11-19 17:57:33.021 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.022 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(3, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.022 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(4, null, null, audio/eac3, null, 640000, pt, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.023 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(5, null, null, audio/eac3, null, 640000, ja, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.023 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(6, null, null, audio/eac3, null, 640000, es, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.023 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(7, null, null, audio/eac3, null, 640000, , [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.024 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(8, null, null, audio/eac3, null, 640000, pt, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.025 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(9, null, null, audio/eac3, null, 640000, es, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.025 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####### Format(10, null, null, audio/eac3, null, 640000,, [-1, -1, -1.0, null], [6, 48000]) ####### 2024-11-19 17:57:33.034 21390-21390 EventLogger com.example.gsyvideoplayer D state [10.20, true, I] 2024-11-19 17:57:33.035 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I 139368678------------------------------ CURRENT_STATE_PLAYING 2024-11-19 17:57:33.036 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I changeUiToPlayingShow 2024-11-19 17:57:33.043 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I GSYTextureView not support onRenderResume now 2024-11-19 17:57:33.048 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I videoWidth: 0 videoHeight: 0 2024-11-19 17:57:33.050 21390-21390 chatty com.example.gsyvideoplayer I uid=10043(com.example.gsyvideoplayer) identical 2 lines 2024-11-19 17:57:33.050 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I videoWidth: 0 videoHeight: 0 2024-11-19 17:57:33.054 21390-23728 SurfaceUtils com.example.gsyvideoplayer D connecting to surface 0x8fcdd808, reason connectToSurface 2024-11-19 17:57:33.055 21390-23728 MediaCodec com.example.gsyvideoplayer I [OMX.google.hevc.decoder] setting surface generation to 21903366 2024-11-19 17:57:33.055 21390-23728 SurfaceUtils com.example.gsyvideoplayer D disconnecting from surface 0x8fcdd808, reason connectToSurface(reconnect) 2024-11-19 17:57:33.055 21390-23728 SurfaceUtils com.example.gsyvideoplayer D connecting to surface 0x8fcdd808, reason connectToSurface(reconnect) 2024-11-19 17:57:33.055 21390-23728 SurfaceUtils com.example.gsyvideoplayer D disconnecting from surface 0x8fcdd008, reason disconnectFromSurface 2024-11-19 17:57:33.056 21390-23728 com.example.gsyvideoplayer W buffer descriptor with invalid usage bits 0x2000 2024-11-19 17:57:33.059 21390-23728 SoftwareRenderer com.example.gsyvideoplayer D setting dataspace on output surface to #104 2024-11-19 17:57:32.946 21390-21390 EventLogger com.example.gsyvideoplayer D videoSizeChanged [960, 540] 2024-11-19 17:57:32.963 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I videoWidth: 960 videoHeight: 540 2024-11-19 17:57:32.964 21390-21390 chatty com.example.gsyvideoplayer I uid=10043(com.example.gsyvideoplayer) identical 2 lines 2024-11-19 17:57:32.964 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I videoWidth: 960 videoHeight: 540 2024-11-19 17:57:32.983 21390-23728 com.example.gsyvideoplayer W buffer descriptor with invalid usage bits 0x2000 2024-11-19 17:57:33.023 21390-21420 LeakCanary com.example.gsyvideoplayer D Setting up flushing for Thread[ExoPlayer:PlaceholderSurface,5,main] 2024-11-19 17:57:33.072 21390-23728 com.example.gsyvideoplayer W buffer descriptor with invalid usage bits 0x2000 2024-11-19 17:57:33.192 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 302 duration 7749000 2024-11-19 17:57:34.197 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 1313 duration 7749000 2024-11-19 17:57:35.209 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 2322 duration 7749000 2024-11-19 17:57:36.221 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 3333 duration 7749000 2024-11-19 17:57:37.231 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 4344 duration 7749000 2024-11-19 17:57:37.443 21390-21404 .gsyvideoplaye com.example.gsyvideoplayer I Background concurrent copying GC freed 5462(391KB) AllocSpace objects, 13(19MB) LOS objects, 19% free, 101MB/125MB, paused 358us total 185.358ms 2024-11-19 17:57:38.300 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 5360 duration 7749000 2024-11-19 17:57:39.322 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 6387 duration 7749000 2024-11-19 17:57:40.327 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 7385 duration 7749000 2024-11-19 17:57:41.330 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 8387 duration 7749000 2024-11-19 17:57:42.338 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 9398 duration 7749000 2024-11-19 17:57:43.360 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 10410 duration 7749000 2024-11-19 17:57:44.372 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 11424 duration 7749000 2024-11-19 17:57:45.377 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I progress 0 secProgress 0 currentPosition 12430 duration 7749000 2024-11-19 17:57:45.829 21390-23653 MediaCodecInfo com.example.gsyvideoplayer D NoSupport [codec.profileLevel, hvc1.1.6.L90.90, video/hevc] [OMX.hivendor.video.decoder.hevc, video/hevc] [X96Q, X96Q, Hivendor, 28] 2024-11-19 17:57:45.832 21390-23653 MediaCodecInfo com.example.gsyvideoplayer D NoSupport [codec.profileLevel, hvc1.1.6.L90.90, video/hevc] [OMX.hivendor.video.decoder.hevc, video/hevc] [X96Q, X96Q, Hivendor, 28] 2024-11-19 17:57:45.903 21390-23653 ExoPlayerImplInternal com.example.gsyvideoplayer E Playback error androidx.media3.exoplayer.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000]), format_supported=NO_UNSUPPORTED_TYPE at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:640) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:65) Caused by: androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: [-49999], Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000]) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1123) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:588) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1602) at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.onInputFormatChanged(MediaCodecAudioRenderer.java:540) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1042) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:860) at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136) at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561) at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:193)  at android.os.HandlerThread.run(HandlerThread.java:65)  2024-11-19 17:57:46.139 21390-21390 EventLogger com.example.gsyvideoplayer D videoSizeChanged [0, 0] 2024-11-19 17:57:46.140 21390-21390 ExoPlayer:Playb com.example.gsyvideoplayer I type=1400 audit(0.0:13516): avc: denied { call } for scontext=u:r:untrusted_app:s0:c43,c256,c512,c768 tcontext=u:r:hal_hwsysmanager:s0 tclass=binder permissive=1 2024-11-19 17:57:46.142 21390-23653 MediaCodec com.example.gsyvideoplayer D MediaCodec::stop() setprop service.media.playstatus stopped 2024-11-19 17:57:46.164 21390-23728 SurfaceUtils com.example.gsyvideoplayer D disconnecting from surface 0x8fcdd808, reason disconnectFromSurface 2024-11-19 17:57:46.189 21390-21390 EventLogger com.example.gsyvideoplayer E playerFailed [23.43] androidx.media3.exoplayer.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000]), format_supported=NO_UNSUPPORTED_TYPE at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:640) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:65) Caused by: androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: [-49999], Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000]) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1123) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:588) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1602) at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.onInputFormatChanged(MediaCodecAudioRenderer.java:540) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1042) at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:860) at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136) at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561) at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:193)  at android.os.HandlerThread.run(HandlerThread.java:65)  2024-11-19 17:57:46.191 21390-21390 EventLogger com.example.gsyvideoplayer D loading [false] 2024-11-19 17:57:46.197 21390-21390 EventLogger com.example.gsyvideoplayer D state [23.44, I] 2024-11-19 17:57:46.199 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E cancelTimeOutBuffer 2024-11-19 17:57:46.199 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer I changeUiToError 2024-11-19 17:57:46.204 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E Link Or mCache Error, Please Try Again http://192.168.30.253/static-file/movie/The%20Gray%20Man/The%20Gray%20Man.mp4 2024-11-19 17:57:46.204 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####################### 2024-11-19 17:57:46.204 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ERROR_CODE_DECODER_INIT_FAILED 2024-11-19 17:57:46.205 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E ####################### 2024-11-19 17:57:46.207 21390-21390 ExoPlayerImpl com.example.gsyvideoplayer I Release ed483e1 [AndroidXMedia3/1.4.1] [X96Q, X96Q, Hivendor, 28] [media3.common, media3.exoplayer, media3.decoder, media3.datasource, media3.extractor] 2024-11-19 17:57:46.212 21390-21390 GSYVideoPlayer com.example.gsyvideoplayer E cancelTimeOutBuffer

CarGuo commented 3 days ago

Decoder init failed: [-49999], Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000])

因为音频编码是 EAC3 吧

meijius commented 2 days ago

Decoder init failed: [-49999], Format(2, null, null, audio/eac3, null, 640000, en, [-1, -1, -1.0, null], [6, 48000])

因为音频编码是 EAC3 吧

看了是不支持EAC3格式的,请问下这个需要怎么支持这个格式的音轨哈,要重新编译so。

CarGuo commented 2 days ago

你这是 exo 内核的,用的系统 MediaCodec 解码,你用 ijk 内核的 ffmpeg 可以自己处理

https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/BUILD_SO.md

例如

--enable-decoder=eac3 --enable-decoder=ac3

https://developer.android.com/media/media3/exoplayer/supported-formats