当前位置: 首页 > 知识库问答 >
问题:

Exoplayer即使在之后视频停止,也会继续播放音频

梁丘柏
2023-03-14

我正在使用exoplayer,我注意到当我在一个活动中播放视频,然后通过按下按钮切换到另一个活动时,视频本身会停止播放以切换到新活动,但音频会继续播放。如果我返回旧活动并再次播放视频,音频仍然会继续播放我再次播放视频时听到的音频,现在在歌曲的不同时间同时听到两次音频。

String url = model.getVideo();
            try {
                BandwidthMeter bandwidthMeter= new DefaultBandwidthMeter();
                TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory( bandwidthMeter));
                holder.exoPlayer= ExoPlayerFactory.newSimpleInstance( LiFit.getContext(),trackSelector );
                Uri videouri = Uri.parse(model.getVideo());
                DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory("exoplayer_video");
                ExtractorsFactory extractorsFactory= new DefaultExtractorsFactory();
                MediaSource mediaSource = new ExtractorMediaSource(videouri,dataSourceFactory,extractorsFactory,null,null);
                holder.videoView.setPlayer(holder.exoPlayer);
                holder.exoPlayer.prepare(mediaSource);
                //holder.exoPlayer.setPlayWhenReady(true);
            } catch (Exception e) {
                //Nichts
            }

这是我正在使用的代码有人知道这个问题的解决方案吗?

共有1个答案

须敏学
2023-03-14

exoplayer有一个方法setPlayWhenReady,可用于播放/暂停媒体,还有一个在不再需要播放器时释放的方法。

切换到其他活动时,可以使用这些方法。

 类似资料:
  • 我的应用程序中有一项服务。它发送和接收webservice请求和响应。当我收到来自web服务的特定响应时,我需要停止播放音频/视频文件(媒体文件正在从另一个应用程序播放)。当我完成某个过程时,我需要再次恢复。 注: 在andoid设备中,如果任何2G呼叫停止播放媒体文件,则音乐播放器播放任何音乐,然后当2G呼叫断开时,停止播放媒体文件。我只需要这样做。

  • 播放视频,当应用程序转到后台时,它应继续播放音频,当我重新打开时,它应恢复有关我们在音频中的位置的视频。 我在一个服务中使用exoplayer,我可以在后台播放音频,但当我对视频执行相同操作时,音频正在播放,但当我回到应用程序时,视频只是一个黑屏,如果我再次重复(转到后台并回到应用程序)该步骤,它将继续播放视频。 据我所知,exoplayer正在缓冲下一帧,播放器视图无法一次渲染所有帧。 我有一个

  • 问题内容: 我正在使用Videogular来显示视频。当用户点击“播放”按钮以播放新视频时,能否帮助我停止/暂停其他视频?因此,一次只能让用户一次播放一个视频。 系统应自动停止正在后台播放的其他视频并播放新视频 谢谢 问题答案: 您可以分别为每个播放器获取所有API,并监听状态变化: 在您的控制器中:

  • 我正在使用ExoPlayer播放视频的应用程序。出于某种原因,当我试图暂停时,视频播放器没有显示播放/暂停图标。我只为播放/暂停做了一个自定义布局,并将其设置在PlayerView上。使用或播放/暂停视频。到处都找不到解决办法,好像我错过了什么,但又不知道是什么。

  • 问题内容: 当我从互联网上加载视频(10-40MB大)时,无法提供流畅的播放体验。 我的AVPlayer要么加载整个视频然后播放,要么播放1s,缓冲然后停止播放。 我尝试了无尽的库,缓冲区观察者方法和教程。似乎没有任何帮助。 问题答案: 从 iOS 10.x开始 ,您可以进行一些缓冲设置,例如,您可以决定缓冲视频需要多少秒:

  • 我正在尝试流式传输从FFmpeg编码的Webm视频文件。 然而,当我寻找到一个未被缓冲的位置时,视频播放停止。 我已验证是否下载了正确的字节范围。 知道是什么引起的吗?在x264中编码的mp4文件中,查找工作完美无瑕。Webm似乎是个问题。可能是视频编码方式有问题。 ffmpeg-i输入。mp4-编解码器:v libvpx-质量最佳-b:v 4000k-qmin 10-qmax 42-最大速率40