首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ExoPlayer通知管理器,隐藏快退和快进按钮

要在ExoPlayer中隐藏快退和快进按钮,您需要自定义通知布局以删除这些按钮

  1. 首先,在项目的res/layout 文件夹中创建一个名为exo_notification_layout.xml 的新布局文件。将以下代码添加到该文件中:
代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:gravity="center_vertical">

    <!-- 添加您的播放控制按钮或其他自定义控件 -->
    <ImageButton
        android:id="@+id/play_pause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_play"
        android:background="@null" />

    <!-- 删除快退和快进按钮 -->
</LinearLayout>
  1. 在您的应用程序的resources文件夹中,找到名为exo_notification_icon_mapping.xml的文件,然后删除exo_fastforwardexo_rewind条目,如下所示:
代码语言:javascript
复制
<resources>
    <item name="exo_play" type="drawable">@drawable/ic_play</item>
    <item name="exo_pause" type="drawable">@drawable/ic_pause</item>
    <!-- 删除以下两个条目 -->
    <!-- <item name="exo_fastforward" type="drawable">@drawable/ic_fastforward</item> -->
    <!-- <item name="exo_rewind" type="drawable">@drawable/ic_rewind</item> -->
</resources>
  1. 在您的ExoPlayerActivity(或者使用ExoPlayer的任何地方)中找到onCreateNotificationChannel() 方法(如果尚未创建),然后添加以下代码:
代码语言:javascript
复制
private void onCreateNotificationChannel() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        String channelId = "exo_notification_channel";
        String channelName = "ExoPlayer Notification Channel";
        int importance = NotificationManager.IMPORTANCE_LOW;
        NotificationChannel notificationChannel = new NotificationChannel(channelId, channelName, importance);
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.createNotificationChannel(notificationChannel);
    }
}
  1. onCreate()方法中,初始化PlayerNotificationManager,并将其与自定义布局关联:
代码语言:javascript
复制
private PlayerNotificationManager playerNotificationManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // ... 其他初始化代码 ...

    playerNotificationManager = new PlayerNotificationManager.Builder(this, channelId, R.drawable.ic_notification)
            .setCustomLayout(getCustomNotificationLayout())
            .build();
}
  1. 创建一个名为getCustomNotificationLayout()的方法,并返回您在步骤1中创建的自定义布局文件的ID:
代码语言:javascript
复制
private int getCustomNotificationLayout() {
    return R.layout.exo_notification_layout;
}
  1. 最后,将PlayerNotificationManager与您的ExoPlayer实例关联:
代码语言:javascript
复制
playerNotificationManager.setPlayer(exoPlayer);

现在,ExoPlayer通知将不再显示快退和快进按钮。如果需要,您可以根据需要自定义播放控制按钮或其他控件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

02.视频播放器整体结构

6883457444752654343 01.视频常见的布局视图 视频底图(用于显示初始化视频时的封面图),视频状态视图【加载loading,播放异常,加载视频失败,播放完成等】 改变亮度和声音【改变声音视图,改变亮度视图】,改变视频快进和快退...,左右滑动快进和快退视图(手势滑动的快进快退提示框) 顶部控制区视图(包含返回健,title等),底部控制区视图(包含进度条,播放暂停,时间,切换全屏等) 锁屏布局视图(全屏时展示,其他隐藏),底部播放进度条视图...基础封装视频播放器player,可以在ExoPlayer、MediaPlayer,声网RTC视频播放器内核,原生MediaPlayer可以自由切换 对于视图状态切换和后期维护拓展,避免功能和业务出现耦合...使用简单,代码拓展性强,封装性好,主要是和业务彻底解耦,暴露接口监听给开发者处理业务具体逻辑 04.视频视图层级示意图 [image] 05.整体架构思路分析流程 播放器内核 可以切换ExoPlayer...控制view视图的显示和隐藏是特别重要的,这个时候在自定义view中就需要拿到播放器的状态 举一个简单的例子,基础视频播放器 添加了基础播放功能的几个播放视图。

1.8K10
  • 01.视频播放器框架介绍

    还支持设置n秒后不操作则隐藏头部和顶部布局功能 A.1.6 可以设置竖屏模式下全屏模式和横屏模式下的全屏模式,方便多种使用场景 A.1.7 top和bottom面版消失和显示:点击视频画面会显示、隐藏操作面板...B.1.6 切换横竖屏:切换全屏时,隐藏状态栏,显示自定义top(显示电量);竖屏时恢复原有状态 B.1.7 支持切换视频清晰度模式 B.1.8 添加锁屏功能,竖屏不提供锁屏按钮,横屏全屏时显示,并且锁屏时...视频播放器架构说明 视频常见的布局视图 视频底图(用于显示初始化视频时的封面图),视频状态视图【加载loading,播放异常,加载视频失败,播放完成等】 改变亮度和声音【改变声音视图,改变亮度视图】,改变视频快进和快退...,左右滑动快进和快退视图(手势滑动的快进快退提示框) 顶部控制区视图(包含返回健,title等),底部控制区视图(包含进度条,播放暂停,时间,切换全屏等) 锁屏布局视图(全屏时展示,其他隐藏),底部播放进度条视图...比如切换内核+视频播放器(player+controller+view) 需要达到的目的和效果 基础封装视频播放器player,可以在ExoPlayer、MediaPlayer,声网RTC视频播放器内核

    2.7K51

    华为荣耀盒子评测报告

    在大部分界面荣耀盒子均提供了良好鼠标操作支持,包括各级菜单以及按钮。遗憾的是在节目播放时使用鼠标无法控制进度条快进或快退。...本地视频同样支持断点续播,支持快进快退。 内置文件管理器默认支持 samba ,但设备发现时间较长。在尝试打开含卷标的共享分区时出现了连接失败的提示(分区1(toshiba)),另一无卷标分区正常。...由于采用了双天线 300M 无线网卡,荣耀盒子的 samba 播放速度明显优于天猫以及小米,快进快退响应非常及时。 在关注荣耀盒子官方微信之后,即可在同一 WiFi 网络环境控制机顶盒。...是否支持安装app,U盘直接支持1分,需特殊方法支持或不支持0分(直接支持,1分) 自带播放器是否支持内嵌字幕、字幕切换、外挂字幕、字幕大小调整,是否支持快进快退、操作是否卡顿,是否支持断点续播、屏幕比例设置...,播放中是否支持选集(电视剧)(2分,支持快进快退,支持播放中选集) 本项计:3+2+2=7分 项目5系统平台得分:8+5.5+13.5+7=34分。

    1.5K10

    iOS后台音频播放及锁屏界面显示音频信息 原

    点击播放与暂停开关按钮(iphone抽屉中使用这个)     UIEventSubtypeRemoteControlTogglePlayPause      = 103,     //点击下一曲按钮或者耳机中间按钮两下...    UIEventSubtypeRemoteControlNextTrack            = 104,     //点击上一曲按钮或者耳机中间按钮三下        UIEventSubtypeRemoteControlPreviousTrack...        = 105,     //快退开始 点击耳机中间按钮三下不放开     UIEventSubtypeRemoteControlBeginSeekingBackward = 106,     ...//快退结束 耳机快退控制松开后     UIEventSubtypeRemoteControlEndSeekingBackward   = 107,     //开始快进 耳机中间按钮两下不放开     ...UIEventSubtypeRemoteControlBeginSeekingForward  = 108,     //快进结束 耳机快进操作松开后     UIEventSubtypeRemoteControlEndSeekingForward

    3.1K30

    QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器

    想熟悉ffmpeg和ffplay的朋友,都可以参考学习....代码自取: https://github.com/truedei/UPlayer 展示图 1.主界面 2.通过中心的按钮选择媒体文件 3.通过菜单打开文件 4.开始播放 5.暂停播放 6.继续播放...7.快进 可以想象一下,截图没效果 8.快退 可以想象一下,截图没效果 9.静音 10.调整音量 11....时时进度条和时间显示 12.停止播放 停止后,又回来了 13.切换背景图 切换背景的按钮 点击后选择图片 切换后: 使用技术 编程语言:C、C++; 主要技术:QT5+qml; 视频相关:ffmpeg...有待提高); 2022.11.4:终于有时间来完结了 version 1.0.0 基础版本提交. 2022.12.4 1.音量控制(音量控制条拖动,音量静音); 2.停止播放; 3.快退播放

    1.4K30

    视频回退播放操作

    初始化 为了更好地讲解并演示视频回退播放操作,我们大体完成视频项目的一些功能: 视频播放 视频停止 视频快进⏩ 视频快退⏪ - 这个就是我们本文要讲解的内容,不难 前三个功能是为了最后一个功能服务的,简称绿叶衬鲜花...前面三个功能点就不贴代码,感兴趣的读者可以跳到 体验地址 小节阅读,初始化静态效果图如下: P(Play) 代表播放 ▶️,S(Stop) 代表停止 ⏸️,B(Backward) 代表快退 ⏪,F...(Fackward) 代表快进 ⏩。...嗯~ 嗯~ 嗯~ 具体代码请参考下面的体验地址 这里的快进的功能,我也使用了 currentTime 实现,读者可以使用 playbackRate 实现快进 体验地址 详细的代码,请点击进入码上掘金查看...(右上角 icon 按钮) 代码片段

    2.3K20

    如何处理手势冲突 | 手势导航连载 (三)

    我们来看一个例子,比如下面这个音乐播放应用,该应用允许用户通过拖动进度条 (SeekBar) 来快进或快退当前歌曲。...问题 1: 应用需要隐藏导航栏或状态栏吗? 流程图里的第一个问题,询问您应用的主要使用场景是否需要隐藏导航和/或状态栏。所谓 "隐藏",是指让它们根本不可见。...它包含一个位于屏幕底部的进度条,允许用户快进和快退歌曲。...但是,当用户尝试快进和快退歌曲时,会发生这种情况: 发生这种情况是因为,屏幕底部的系统手势交互区域与进度条重叠了,而在这里系统手势优先级更高。.../快退操作就没有问题了: 注意: SeekBar 实际上会在 Android 10 中自动为您执行上述切出操作,因此您无需在 Seekbar 中这么做。

    5K30

    touchesBegan 触摸事件一、概念介绍二、方法介绍三、参数介绍:touches四、参数介绍:event

    CGPoint)precisePreviousLocationInView:(nullable UIView *)view; 四、参数介绍:event UIEvent:称为事件对象,记录事件产生的时刻和类型...= 104, //上一曲【操作:按耳机线控中间按钮三下】 UIEventSubtypeRemoteControlPreviousTrack = 105, //快退开始...【操作:按耳机线控中间按钮三下不要松开】 UIEventSubtypeRemoteControlBeginSeekingBackward = 106, //快退停止【操作:按耳机线控中间按钮三下到了快退的位置松开...】 UIEventSubtypeRemoteControlEndSeekingBackward = 107, //快进开始【操作:按耳机线控中间按钮两下不要松开】 UIEventSubtypeRemoteControlBeginSeekingForward...= 108, //快进停止【操作:按耳机线控中间按钮两下到了快进的位置松开】 UIEventSubtypeRemoteControlEndSeekingForward = 109, (3)获取触摸产生或变化的时间戳

    2.7K100

    软件测试 - 状态迁移自动生成算法研究

    简介 状态迁移测试方法,多用于一个具有多种状态的产品,其中的状态有些可以互相转移,比如播放器,有播放/暂停/快进/快退等状态。如何写这种用例呢,传统的手工方法是画一个树状图,可以按照深度优先规则。...播放状态可以直接暂停,快进,快退 暂停状态只能转为播放状态 快进状态只能转为播放和暂停 快退状态也只能转为播放和暂停。...按照正常手动逻辑要先画出树状图(深度优先) 所以最终的用例是: 用例1:播放-暂停-播放 用例2:播放-快进-播放 用例3:播放-快进-暂停 用例4:播放-快退-播放 用例5:播放-快退-暂停 用本文要研究的工具生成的最终结果如图...其中 cases 是用来储存用例的列表,初始为空列表 all 为前面得到的二维列表,储存的是用户输入的状态 最后调用这个递归函数需要传入 all 的第一个状态,也就是 ‘播放’,和一个空字串 递归函数需要俩个参数

    38010

    天猫魔盒2评测报告

    默认条件下左列隐藏,需要向左移动光标展开。 YunOS 3.0 的所有节目在进入后首先会以小窗形式呈现,左侧和右侧分别为收藏按钮以及相关、热门节目推荐。...但尝试播放 1080P 视频时快进快退缓冲时间较长。 当手机与机顶盒处于统一 WiFi 网络之下时,下载并安装阿里TV助手即可使手机作为机顶盒遥控器使用。...是否支持安装app,U盘直接支持1分,需特殊方法支持或不支持0分(直接支持,1分) 自带播放器是否支持内嵌字幕、字幕切换、外挂字幕、字幕大小调整,是否支持快进快退、操作是否卡顿,是否支持断点续播、屏幕比例设置...秒,2.5分) 任意两天连续播放内置平台节目30分钟,观察缓冲情况,一次一秒以内不计扣分,此后每次1秒以内扣0.2分,1-3秒扣0.5分,3-5秒扣1分,超过5秒扣2分(未见缓冲,0分) 节目是否支持快进快退...,播放中是否支持选集(电视剧)(支持快进快退,播放中不支持选集,1分) 本项计:3+2.5+1=6.5分 项目5系统得分:7.5+6+12.5+6.5=32.5分。

    2.3K10

    touchesBegan 触摸事件

    - (CGPoint)precisePreviousLocationInView:(nullable UIView *)view; 四、UIEvent类 UIEvent:成为事件对象,记录产生的时刻和类型...= 104, //上一曲【操作:按耳机线控中间按钮三下】 UIEventSubtypeRemoteControlPreviousTrack = 105, //快退开始...【操作:按耳机线控中间按钮三下不要松开】 UIEventSubtypeRemoteControlBeginSeekingBackward = 106, //快退停止【操作:按耳机线控中间按钮三下到了快退的位置松开...】 UIEventSubtypeRemoteControlEndSeekingBackward = 107, //快进开始【操作:按耳机线控中间按钮两下不要松开】 UIEventSubtypeRemoteControlBeginSeekingForward...= 108, //快进停止【操作:按耳机线控中间按钮两下到了快进的位置松开】 UIEventSubtypeRemoteControlEndSeekingForward = 109, (3)获取触摸产生或变化的时间戳

    83320

    QoS和QoE初学者指南

    接着,我们再来简单了解公司如何衡量和使用QoS和QoE。 什么是QoS和QoE? 那么究竟什么是QoS和QoE?...实际中,一种低QoE高QoE的情况是:网络丢包率比较高,但视频的编解码段做了很好的误差纠错和隐藏,比如WebRTC的情况,QoE还是可以达到用户满意的效果的。 如何衡量QoS?...重新缓冲比率 观众体验重新缓冲的时间比例[即当视频因为缓冲区下溢而非用户的直接干预(快进快退或者暂停视频)而停止播放时]。比率计算:总体重新缓冲时间除以总体播放时间与总体重新缓冲时间之和。...在特定设备上,不太可能从测量到的重新缓冲时间中排除快进快退时间。为了使其在所有设备上具备可比性,可以计算一个单独的指标,其中包括每台设备的快进快退和暂停时间。...通常情况下,这些警告会发送电子邮件或者文本通知,所以你不必时时刻刻监控视频以发现问题。

    2.1K31

    OmniPlayer Pro Mac中文激活版(全能视频播放器)

    ,同时你也可以通过它丰富的功能方便的控制和调整播放进度等等。...图片OmniPlayer中文版功能亮点主要功能支持多种音视频类型播放本地和远程服务器上(samba/ftp协议)几乎任何格式的音频和视频。通过http/https协议播放在线视频和音频。...直接使用网页地址播放不带广告的Youtube和Vimeo视频。播放列表控制自动记录播放的媒体文件到播放列表,且支持退出时自动清空。播放/搜索/删除/播放列表中的文件,修改播放顺序。...播放控制支持暂停/恢复/快进/快退/跳转到指定的播放时间。停止时自动记录上次播放进度。自动隐藏控件来无遮挡地显示纯视频画面.支持0.25倍到4倍的倍速播放。...视频画面控制快速调整窗口大小和视频画面宽高比。全方向旋转视频画面。调整视频画面的均衡度,包括亮度,对比度,饱和度。

    94930

    音视频开发之旅(45)-ExoPlayer 音频播放器实践(一)

    播放器内部触发 比如: 播放结束、自动切歌曲等) //该如何通知给ui业务层呐??...的播放状态,exoplayer的onPlaybackStateChanged收到播放状态改变的通知后触发,给mediasession设置mediaSession.setPlaybackState 对应关键代码如下...播放器内部触发 比如: 播放结束、自动切歌曲等) //该如何通知给ui业务层呐??...其中用到了Handler和Binder的线程和进程通信相关的知识,后续我们专题单独深入学习实践下,这里我们先顺着流程画下播放/暂停的流程图,从用户按下按钮到播放器开始播放以及页面更新的整个流程是怎样的。...完整代码已上传至 github https://github.com/ayyb1988/mediajourney 三、资料 ExoPlayer Android开发之ExoPlayer的学习和使用(音频)

    5.4K00

    ffplay播放器移植VC的工程:ffplay for MFC

    此外还包含一些控制功能:播放,暂停/继续,前进,后退,停止,逐帧播放,全屏等;以及一些简单的视频码流分析功能:视频解码分析和音频解码分析。...通过本程序可以学习视频播放器原理,以及SDL和Windows消息机制。...下方是视频的控制按钮。 1.1输入URL 输入URL框用于输入视频的URL。视频源可以是本地视频或者是网络流。...1.3控制按钮 控制按钮包含了:开始,后退,暂停/继续,前进,停止,逐帧播放,全屏。 此外,这一排控制按钮的上方,包含了视频播放的进度条。可以通过拖动进度条控制视频的播放。 二....此外包含了多种快进快退操作:快进10秒,1分,10分;快退10秒,1分,10分。 播放窗口:与播放窗口有关的各种选项。可以设置播放窗口显示的内容,以及窗口的大小,纵横比。播放窗口默认是显示视频画面。

    1.1K30
    领券