问题标签 [audio-service]

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 投票
0 回答
66 浏览

android - 倒带 HLS 直播

我正在使用 HLS url 流式传输直播电台。它设置为发送 12 - 10 秒的音频块,因此总共两分钟。我可以听位置,它会给我大约 1:47 的值,然后下降到 1:37。我假设这是我拥有的两分钟“直播”窗口的正常行为。但关键是我得到了一个职位。

当我使用audioPlayer.seek(position)时,位置是我正在收听的当前位置- Duration(seconds: 10),甚至是SeekHandler我的默认实现行为不一致。常见的是当位置将自身重置为 0

时调用,音频会中断一秒钟,然后从中断的位置播放而根本没有移动位置。seek

我所做的一项尝试是使用 initialPosition 预加载音频,这显示了相同的行为。另一种尝试是让 bufferDuration 达到 30 秒,寻找到该位置之前然后播放,这也没有帮助。

我想我想知道是否有可能做到这一点。也许有一种方法可以缓存已经加载/收听的音频并挂在 XX 秒上,以便用户可以倒带?

0 投票
0 回答
366 浏览

firebase - firebase + audio_service:当应用程序终止时,应用程序在推送通知后卡在启动画面

简短的问题描述

添加后audio_service,我的应用程序在从后台关闭并收到推送通知(firebase)后卡在启动画面上。

详细介绍

  1. 我的应用程序正在使用以下插件:(
    firebase_messaging版本 11.1.0):用于支持 FCM(推送通知)
    audio_service(版本 0.18.1):用于支持在通知区域使用播放器在后台播放音频。
  2. 在添加audio_service到我的应用程序之前,在应用程序关闭时收到推送通知后打开应用程序没有问题。

如何重现

  1. 关闭应用程序,也从后台关闭。
  2. 发送一条 firebase 云消息,让应用程序在后台启动。
  3. 通过单击其图标启动应用程序。
  4. 应用程序卡在启动画面上。

相关信息

作为audio_service插件安装的一部分,activity名称已更改为com.ryanheise.audioservice.AudioServiceActivity.

这是 `AndroidManifest.xml` 文件。 应用程序在后台启动时记录
0 投票
1 回答
57 浏览

just-audio - MediaState 流 ConnectionState 保持等待 - audio_service 颤动

我正在尝试在我的 Player 类上提供我的 audioHandler,但是发生了一些奇怪的事情

当我进入屏幕时,StreamBuilder 会很好地激活,但如果我再次弹出并导航到屏幕,流连接将永远保持“等待”状态,除非我播放音频。这会导致一些奇怪的行为。我做错了什么?

相关代码

玩家等级

音频服务初始化

我的音频处理程序与插件示例完全相同

MediaStateStream 和 QueueStateStream

0 投票
1 回答
63 浏览

flutter - 颤动的audio_service和just_audio不适用于iOS上的导航

我有 audio_service 和 just_audio 的项目。它在 Android 上运行良好。但它不适用于 iOS。我发现这是由于导航路线而发生的。

我附上了示例项目。例子

如果我在家里调用播放器屏幕,它正在播放。如果我先调用主屏幕,则有一个按钮可以调用播放器屏幕。如果用户单击播放器屏幕显示但歌曲未播放。它显示加载指示器。

你知道为什么它不工作。

0 投票
2 回答
152 浏览

flutter - 音频不在后台循环播放

我的实现在前台循环。它也可以在后台运行。问题是它不会在后台循环。该问题仅发生在 iOS 物理设备上(不在模拟器或 Android 上)。

我正在使用https://pub.dev/packages/audioplayers插件,因为https://pub.dev/packages/just_audio它给我带来了各种各样的麻烦,尤其是音频缓存做得不好,最终总是在轨道开始时造成每个音频延迟,这对我来说是不行的。

这是我的audio_player_handler.dart文件:

我也有对象称为:LightAnimation具有如下定义的属性 audioHandler :

然后我只是从我的代码库的不同部分访问,如下所示:

我的实现是错误的还是只是包方面的错误(https://pub.dev/packages/audioplayers)?

0 投票
1 回答
137 浏览

flutter - Flutter audio_service 流更新通知与 IcyMetadata

我想为一个流/网址创建一个流应用程序。

在 audio_service 示例中,在 AudioPlayerHandler 中添加了一个 MediaItem。

这很有效,但是当 IcyMedata 更新通知时……显然……有来自添加的 MediaItem 的标题和内容。在应用程序中,我可以根据 _audioHandler.playbackstate 和 _player.icyMetadata!.info!.title 进行更新!还有一些 sting.splits(' - ') 我可以使用 StreamBilder 更新应用程序中的信息。

还尝试了一种肮脏的技巧,通过更改 audio_service 在 PlaybackState 对象中添加标题,并添加标题作为属性,并在自定义 AudioHandler 中将其与 _player.icy ... 连接起来。

但是必须有一种适当的方法来设置新的元数据或由该框架本身设置。_audioHandler.updateMediaItem 到目前为止对通知信息什么也没做,这就是我需要的!

我找到了一个 addStream ......我的尝试(片段)

小部件:

… 使用 _player.add(MediaItem()); 就像在示例中一样,我得到了一个 snapshot.hasData 但加载的 addStream 保持为假。

我感谢任何提示以正确处理此问题。

谢谢,

汤姆

0 投票
1 回答
32 浏览

flutter - 接收有关歌曲标题的背景信息的最佳方式

免责声明:此问题仅与使用音频服务插件(版本 0.18.1 或更高版本)有关。

接收有关歌曲标题的背景更新的最佳方式是什么?想象一下,我收听广播电台(通过 mp3 流)并通过 websocket 连接接收歌曲更新。这个 websocket 连接应该在哪里进行?在音频处理程序中?还是在一个全新的隔离区?

由于主(UI)隔离可以在后台使用时被杀死/停止,因此应用程序仍应在后台接收有关歌曲更新的信息并将其显示在控制中心等中。

0 投票
0 回答
26 浏览

flutter - 应用程序在选择颤振本地通知时崩溃

我正在尝试开发一个颤振的警报应用程序。

我使用颤振本地通知来安排闹钟时间。并使用颤振工作管理器颤振铃声播放器播放警报声音。

但是当我点击通知时应用程序崩溃了。

旁注:我还在应用程序的某些部分使用了 audio_service。我不确定应用程序崩溃的原因是什么。

这是日志。

0 投票
0 回答
28 浏览

android - 在android平台上屏幕关闭时无法移动到下一个音频

我正在构建运行一组音频的颤动音乐应用程序。我的应用程序的想法是在播放一个音频时我会收听它,当它完成时我将通过向 api 发送请求并获取歌曲 url 并再次播放来移动到下一个音频。

我为我的应用程序使用了两个颤振包just_audio来播放音频,并使用audio_service来处理后台播放和通知。

一切正常,直到我将移动屏幕关闭音频工作正常,完成后停止并且没有进入下一个时间。

和我的音频处理程序代码

在这里我播放任何音频的功能

0 投票
0 回答
15 浏览

flutter - 如何在 iOS 上实现电子书文本转语音背景模式

我正在使用在线文本到语音服务制作音频电子书,我将动态生成每个页面到一个音频文件,当播放器播放完一个音频文件时,我将生成下一个文件。这项工作需要来自音频播放器的回调,并且应用程序可以从后台生成音频文件(当应用程序进入后台或用户关闭屏幕时)。我不知道播放器是否可以在播放完音频文件后触发事件,并调用我的 gerenrate 函数,我将创建新的播放列表并发送回播放器。