- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Exo-Player。我的视频播放正常,但是当我按下后退按钮并退出 Activity 时,我的视频继续在后台播放。我不知道如何在 Activity 结束后停止播放。请帮忙
这是我在回收器 View 适配器中的 exo 播放器代码
String my_date = data.get(position).getCreated_at();
String returneDate = setDateAndTime(my_date);
String img_url = data.get(position).getUser().getProfileUrl();
String videoUrl = data.get(position).getFile_url();
if (videoUrl != null) {
uri = Uri.parse(videoUrl);
} else {
holder.videoFrame.setVisibility(View.GONE);
}
holder.userVideoStatus.setText(data.get(position).getText());
holder.userNameVideoStatus.setText((CharSequence) data.get(position).getUser().getName());
holder.timeVideoStatus.setText(returneDate);
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));
player = ExoPlayerFactory.newSimpleInstance(activity, trackSelector);
DefaultHttpDataSourceFactory defaultHttpDataSourceFactory = new DefaultHttpDataSourceFactory("exo player");
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
final MediaSource mediaSource = new ExtractorMediaSource(uri, defaultHttpDataSourceFactory, extractorsFactory, null, null);
holder.playVideo.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
holder.playVideo.setVisibility(View.GONE);
holder.userVideoUpdate.setPlayer(player);
player.prepare(mediaSource);
player.setPlayWhenReady(true);
holder.volumeUp.setVisibility(View.VISIBLE);
return true;
}
});
最佳答案
好的 Pavel B. 给出了正确的答案,但我正在详细说明并使其更清楚......
适配器
public class ChatsAdapter extends RecyclerView {
public SimpleExoPlayer exoPlayer; // Do this at top
}
Activity
public class TestActivity extends AppCompatActivity {
private ChatsAdapter chatsAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
chatsAdapter = new ChatsAdapter();
}
@Override
protected void onPause() {
super.onPause();
pausePlayer(chatsAdapter.exoPlayer);
}
@Override
protected void onStop() {
super.onStop();
pausePlayer(chatsAdapter.exoPlayer);
}
@Override
protected void onDestroy() {
super.onDestroy();
releaseExoPlayer(chatsAdapter.exoPlayer);
}
@Override
protected void onResume() {
super.onResume();
startPlayer(chatsAdapter.exoPlayer);
}
public static void startPlayer(SimpleExoPlayer exoPlayer) {
if (exoPlayer != null) {
exoPlayer.setPlayWhenReady(true);
}
}
public static void pausePlayer(SimpleExoPlayer exoPlayer) {
if (exoPlayer != null) {
exoPlayer.setPlayWhenReady(false);
}
}
public static void releaseExoPlayer(SimpleExoPlayer exoPlayer) {
if (exoPlayer != null) {
exoPlayer.release();
}
}
}
关于android - 退出 Activity android时停止播放exo播放器视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48545997/
我是音频 Realm 的新手,如果我使用的术语不正确,对不起。 我想知道是否可以动态播放mp3文件的范围。因此,当我需要它时,我可以指定一个范围,并从mp3中播放该范围。我以为裁剪功能Exo Play
您好,我安装了 ExoPlayer V2 并且我有大小为 10 的数组列表(例如 10 首歌曲)但是当启动 ExoPlayer 时,音频媒体播放器总是启动第一首歌曲指定索引或位置(我需要开始第5首歌曲
我正在使用 ExoPlayer 库来播放来自在线数据源的一些视频。一切正常。 现在我想每秒获取当前的视频持续时间/位置。我无法在默认事件监听器中获得任何选项。任何人有任何引用,我已经搜索过但无法得到任
我想将分析事件添加到 exo 播放器需要以下数据 花在视频上的总时间 总播放时间 总暂停时间 暂停了多少次 如何做到这一点 尝试了以下回调,但无法找到对此的确切解决方案 Player.EventLis
我们公司已经开始使用 Exo Platform Community 4.3。 目前唯一的问题是访问平台的链接是: http://ipaddress:8080 我们已经使用 DNS 配置来实现: htt
这个问题可能已经被问过很多次了。我到处搜索但找不到正确的答案。我在我的项目中使用 ExoPlayer 来播放 HLS 视频。 我想为用户提供选择视频带宽的选项。类似于 YouTube 所做的事情。知道
我正在使用 exoPlayer 将视频流式传输到我的应用程序,目前运行良好。我现在想做的是添加一些额外的功能,例如在右下角添加一个按钮作为“全屏按钮”。 但是有两个问题。首先是 ExoPlayer 似
我是 Flutter 的新手,我正在尝试使用 Flutter 为 Android 和 iOS 构建一个音频流应用程序。音频文件需要受到保护,因此我们的想法是:文件的加密版本将存储在服务器上,应用程序上
我正在尝试使用来自 Google (http://developer.android.com/guide/topics/media/exoplayer.html) 的 ExoPlayer 在 Andr
程序如何与微内核/单片内核/exo内核通信? 我读过很多书,如图所示,单片内核通过系统调用表/文件系统层与程序通信。 但是微内核和exo内核如何与程序通信呢? 微内核的基础是否直接与程序通信,然后微内
我在片段中有一个 Exoplayer View ,当我从事件中为片段容器 View 设置动画时,exo 播放器将变为黑色。 我使用 setKeepContentOnPlayerReset(true);
我想用 ExoPlayer 2 显示字幕。用户可以选择语言(英语、德语或阿拉伯语)。视频链接是 HLS (.m3u8),字幕是 .str 文件。 我找不到任何示例来执行此操作。 有 sample 吗?
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我收到这个错误 > Could not GET 'https://google.bintray.com/exoplayer/io/flutter/x86_debug/1.0.0-890a5fca2e3
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 上个月关闭。
我正在我的应用程序中设置 Exo Player,我已经在我的播放器中实现了 DASH 自适应流式传输,我想添加功能来播放用户选择的特定质量的轨道。 我的 Exo 播放器版本是 2.9.3,我尝试按照这
我正在寻找一种使用 中的新 Builder 方法扩展/继承 PlayerNotificationManager.Builder 的方法ExoPlayer 2.14 版 .由于早期的子类方法,现在已弃用
我正在尝试将 Google Exoplayer 集成到 Unity 中,我是 Unity 的新手。我使用 Easy Move Textures 插件,但它不支持 HLS FMP4,我想开发该插件。我应
我已经完成研究并缩小了范围。好的,所以我正在决定用于开发基于云的 android 应用程序的后端(服务器端)的语言和工具。我决定使用 Google App Engine 作为我的框架。因为我要在我的
我正在使用 ExoPlayer从在线服务器播放视频。所以,为了更好地保存更多的互联网或数据回放视频,我只是将所有视频缓存到 Cache directory .但问题是它的说法已弃用 construct
我是一名优秀的程序员,十分优秀!