问题标签 [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.
javascript - 如何在没有 MediaSession API 的情况下检测媒体密钥?
我正在尝试使用播放/暂停按钮和音量增大/减小按钮从蓝牙媒体控制器检测事件。对于音量增大/减小,我使用keyup监听器捕获 174 和 175 事件 keyCodes,但对于播放/暂停它不起作用。我发现标准方法是使用 MediaSession Api ( This doumentation )。
此外,我还发现了这个网站https://keycode.info/,它为所有输入类型提供了事件 keyCodes。我检查了源代码,发现它没有使用MediaSession,但也捕获了播放/暂停事件。似乎只有 touchstart、onkeydown 和 onkeyup 被跟踪,但使用键码 179检测到播放/暂停。谁能告诉我它是如何工作的?
android - 尝试在空对象上调用接口方法“android.media.session.ISessionController android.media.session.ISession.getController()”
下面的代码适用于带有使用媒体会话控件的音乐通知播放器。每当我单击通知中的控件时,它都会因上述错误而崩溃。如果我错了,请查看下面的代码并纠正我。在下面的代码中,我使用了媒体会话和广播接收器来构建通知。“track”是我所有歌曲数据的模型类。
android - 在 Android 11 的锁定屏幕上隐藏媒体控件
我使用自定义 MediaPlay-Service 在 Dropbox 上播放我的文件,并使用自定义小部件进行所有必要的控制。由于 Android Studio 11 我的自定义小部件没有显示在锁屏上。
javascript - 'MediaMetadata' 未定义 no-undef 且 MediaMetadata 不是构造函数
我已经在 vuejs 中使用 howler.js 实现了播放列表播放器。我想将MediaMetadata
API 集成到它。MediaSession
API 在通知栏、键盘控制、远程设备等控件上运行良好。但我无法使用 MediaMetadata 设置音频的元数据(标题、艺术家、专辑、艺术品)。按照给出的github repo教程进行操作。
出现以下错误:
error 'MediaMetadata' is not defined no-undef
我chrome 57
用来运行它。还测试了浏览器与以下代码的兼容性:
上面的代码打印Browser supports MediaMetadata API
,但它不断抛出错误MediaMetadata is not defined
。
我也曾尝试从包中导入它,@mdn/browser-compat-data
如下所示:
现在,它显示以下错误:
Uncaught TypeError: MediaMetadata is not a constructor
。
也尝试了这个解决方案,但没有运气,错误仍在继续。
任何人都可以帮我解决这个问题吗?提前致谢。
android - android 11 媒体播放器通知问题
我有一个有声读物应用程序在 android 11 之前可以正常工作。我的问题是当我将 mediasession 设置为 mediastyle 时,应用程序媒体通知将不再显示。我找不到问题。
这是我的代码:
android - Android - 如何更新 MediaSession 元数据以便歌曲更改反映在蓝牙连接的设备上?
一旦播放器启动,我就使用它来设置元数据。这很好用。
当流开始播放时,曲目信息会显示在连接的蓝牙设备的屏幕上,无论它是 Echo Show 还是我汽车的信息娱乐系统。但是,一旦播放下一首歌曲,它就不会更新。我必须停止/启动流才能更新。如何在无需停止/开始播放的情况下将更新推送到元数据?我每 5 秒使用一次处理程序调用此调用:
调用此函数:
每次我调用 updateMetadata() 函数时,我的回调类都会被触发,但我不确定从这里去哪里。任何帮助或指导表示赞赏!
这是我的回调班:
android - MediaSession.SetMetadata 在蓝牙设备上不起作用
我正在 Xamarin Android 中开发一个应用程序来播放流媒体中的音乐。设置元数据时,它们会更新并正确显示在移动通知中,但是当我通过蓝牙将其连接到汽车等设备时,元数据不会更新。有人能告诉我为什么吗?
我创建 MediaSession 并更新元数据的代码如下。
javascript - JS:如果播放器嵌入到 iframe 中,则使用 mediaSession 的动作处理程序
我正在使用 Spotify 的 Web SDK 在网站中创建一个新的音频播放器。SDK 支持播放/暂停事件,但忽略previoustrack
和nexttrack
。
我想抓住这些动作并用它们做一些逻辑。但是,因为播放器是在Iframe中加载的,所以动作处理程序不起作用,因为在我的网站中没有播放实际的音频。
有解决方法吗?谢谢!