问题标签 [mediasession]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

android - 通知 setStyle 在 sdk30 中不起作用

在此处输入图像描述

当我设置 .style() 时,不会输出通知。除了设置上下文和标签之外,您还需要在 mediaSessionCompat 中做些什么吗?

0 投票
0 回答
12 浏览

android - Android如何控制Webview视频并通过MediaSession获取视频状态

我的应用程序有一个 webview 来加载视频 url,我想用我的自定义按钮控制视频状态(播放、暂停)并获取视频状态以更新我的按钮。可以用MediaSession来实现吗?

0 投票
0 回答
50 浏览

android - Android 12 中的 MediaSessionCompat 行为发生了变化,并且 setPlaybackToRemote 停止正常工作

在 Android 12 之前,我使用下面的代码来检测按下的物理音量按钮以显示我的自定义 UI,但它在 Android 12 设备上停止工作,并且onAdjustVolume在我按下音量按钮时从未被调用:

0 投票
0 回答
18 浏览

android - 在 Android 中,使用媒体按钮(耳机或蓝牙)接听 voip 来电

当在锁定的电话中收到呼叫或应用程序可见时,我可以毫无问题地捕获 MediaSession 中的按钮按下并采取必要的步骤来接听传入的 voip 呼叫。

我遇到的问题(Android 10 及更高版本)发生在手机解锁且应用不可见时。在这种情况下,Android 服务接收来电请求并构建并呈现用于接听或拒绝来电的通知。当用户选择任一选项时,pendingIntent 将启动 Activity。

显示通知时,我可以从设备捕获媒体按钮按下并关闭通知。但在 Android 10 及更高版本中不允许从服务启动和活动。我不想让用户必须手动授予应用程序权限以覆盖其他应用程序。

除了用户在屏幕上选择通知选项之外,还有其他方法可以触发服务的通知结果,或者是一种允许应用程序从服务启动 Activity 的直接方式?

0 投票
0 回答
29 浏览

reactjs - MediaSession 播放/暂停按钮在 Chrome 中不起作用

我正在构建一个媒体控制器应用程序来控制在远程进程中运行的媒体播放器,并尝试使用 MediaSession API 来促进媒体密钥控制。几乎无声的音频元素用于建立媒体会话,并在几秒钟后无限期暂停。

这在 Firefox 中运行良好,但在基于 Chrome 的浏览器(桌面和移动)中,播放/暂停按钮不会改变状态并最终在几秒钟后停止工作。下一个/上一个曲目按钮按预期工作。

我需要做什么才能使播放/暂停媒体会话控件在基于 Chrome 的浏览器中工作?

React 应用程序重现问题:

代码沙箱:https ://codesandbox.io/s/mediasession-demo-r773i

0 投票
0 回答
21 浏览

mediasession - 如何在 Chrome 的全局媒体控件中获取歌曲的 URL 和播放状态

我想知道 chrome 中的 youtube 标签是否正在播放音乐。我发现全球媒体控制可以满足要求。

全球媒体控制

通过这篇文章,我知道全局媒体控制使用媒体会话API。

所以我尝试了以下方法:

1.https://github.com/DubyaDude/WindowsMediaController

WindowsMediaController 与全局媒体控制

不显示所有正在播放的音乐,也不显示 URL

2.https://github.com/zuozishi/MediaSession.Blazor

MediaSession.Blazor 示例

我可以使用媒体会话显示指定的音乐信息,但我仍然不知道如何获取 chrome tab 音乐信息

还有其他方法吗?

0 投票
0 回答
36 浏览

android - 如何在不中断播放的情况下更新 exoplayer 中的当前媒体元数据?

我正在使用 androidx.media3 开发一个音频播放器应用程序,它为用户提供了一个选项来评价当前正在播放的媒体。因此,在我的 MediaSessionCallback 中,我这样做:

这可行,但唯一需要注意的是 - 它暂时中断了音频。请帮助我了解如何正确执行此操作。

0 投票
0 回答
21 浏览

java - 物理媒体播放器按钮的Android MediasessionCompat回调函数不断崩溃

我使用此链接中的代码MediaSession onMediaButtonEvent 工作了几秒钟然后退出 - Android捕获远程按钮的键事件并将其发送到 audio() 函数,其中选择将由另一个媒体播放器播放。

我遇到了同样的问题,几秒钟后代码就会崩溃。到目前为止,我试图做一个循环,并使音轨不做 at.stop() 或做 at.release 但最终它仍然崩溃。这会使服务保持活动状态,但随后仍会崩溃。我有代码和 logcat

我的 logcat 日志

问题是因为假音轨结束得太快还是因为我还有另一个媒体播放器也在播放声音。我正在尽我所能。

我试着调整音轨,我得到了

0 投票
0 回答
10 浏览

java - 媒体会话播放状态

我正在使用媒体会话创建媒体样式通知,但问题setPlayBackState()是没有按预期工作。我想在mediaPlayer暂停时解除媒体样式通知。

为了显示播放器开始的通知,

当播放器暂停时,

但它似乎无法正常工作,媒体会话被暂停,通知中的搜索栏也被暂停,但通知仍然没有被解雇。

我做错了,还是不能正常工作?