问题标签 [background-audio]

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 回答
328 浏览

c# - 如何在 Windows Phone 运行时的 BackgroundAudioPlayer 中播放 StorageFile 音乐?

StorageFile在前台有一个实例是指一个音乐文件。我想玩它,BackgroundAudioTask但问题是:

确保您定义所有对象以仅在后台进程中设置其源。如果您的应用尝试在前台进程中设置 URI 以外的源,系统将抛出 InvalidCastException。

  • 我无法传递文件路径,然后使用从后台存储重新加载它,StorageFile.GetFileFromPathAsync因为我的应用程序可能无法访问它(来自另一个应用程序内部存储的共享文件)。

我想到的唯一解决方案是将相同的 StorageFile 对象传递给后台,但不知道该怎么做,因为它们位于不同的线程上。

那么如何在后台播放文件呢?

(这是一个 Windows Phone 运行时应用程序)

0 投票
2 回答
403 浏览

windows-runtime - Windows Phone 8.1 中的媒体管道是否损坏?

由于很多内存管理问题,Windows Phone 8.1 中的媒体管道似乎被破坏了。

当您在 Windows Phone Runtime 8.1 中创建使用 IMediaSource 流式传输音频的后台音频应用程序时,该应用程序的组件最终会引发 OutOfMemoryException,在某些情况下甚至会引发 StackOverflowException。查看内存转储时,里面有很多未收集的垃圾。

讨论已在MSDN 论坛上开始,并进展到这个结论。我创建了一个WPDev UserVoice 建议,以便 Windows Phone 团队能够注意到这一点,但我仍然希望是我(和 MSDN 论坛的其他人)错了,并且有解决该问题的方法。

我还有一个小型CodePlex 项目也受此影响,实际上那里有一个关于这个确切问题的问题报告。

我希望在社区的帮助下,这个问题可以得到解决或直接传递给微软开发团队进行调查和消除。谢谢!

更新1:

StackOverflowException 有一种解决方法,但它对 OutOfMemoryException 没有帮助。

0 投票
1 回答
68 浏览

windows-phone-8 - 从 AudioTrack 的独立存储设置 AlbumArt

我在 Windows Phone 8 上使用背景音频播放器,并尝试为我的音轨设置专辑封面。正如我在此处和 MSDN 上所读到的,图像必须位于共享/媒体/图像存在于隔离存储中

测试1

测试2

但它不起作用,为什么?

0 投票
0 回答
123 浏览

ios - 在后台使用 AVAudioPlayer 从 librarydirectory 播放 mp3

我正在使用标准的 AVAudioPlayer 播放 mp3 文件。
由于 iOS 8.1 在设备锁定时播放背景音频不再工作:
设备锁定后 10-20 秒播放停止。
通过主页按钮离开应用程序没有问题。
在 iOS 8.0 上运行没有问题。
播放捆绑的音频没问题。

仅当满足所有三个条件时才会出现此问题: 在 iOS 8.1 上锁定设备时从用户目录播放文件。

问题似乎是文件输入流停止提供数据,因此缓冲区空了:我使用 STK StreamingKit Player 调试了播放,并观察到流 hasBytesAvailable 方法在播放停止前不久返回 NO。

文件访问是否有任何新规则?我在发行说明中找不到任何信息...有人知道吗?

0 投票
1 回答
42 浏览

audio - Windows Phone 背景音频当前曲目正在重置

我正在开发一个使用后台音频代理的 WP8 应用程序。我已经获取了背景音频播放器样本。我已将以下方法添加到 audioplayer.cs

在它被调用之后,指定索引处的歌曲(比如说 5)将播放,但是当我在我的 ap 或 UVC 中 presskipnext 时,currentTrackNumber 为 0!。拜托,任何帮助都将不胜感激

0 投票
1 回答
138 浏览

windows-phone-8 - 将音乐文件添加到 AudioTrack 列表时出错 - WP8

我是应用程序开发领域的新手,我正在为 Windows Phone 构建音乐播放器。问题是当我尝试将本地音乐库中的音乐导入我的应用程序时。

我有一个 AudioPlaybackAgent 和一个它将播放的音乐列表。这是列表:

我在界面中添加了一个按钮,单击该按钮可将本地音乐库文件导入该播放列表。这是代码:

运行应用程序并触摸播放按钮时,预设音乐播放正常,但当我触摸导入按钮时应用程序崩溃。知道这里有什么问题吗?

附言。抱歉英语不好。

0 投票
0 回答
221 浏览

windows-8.1 - Windows 8.1 音频不在后台播放

我正在开发在 Windows 8.1 中在前台和后台播放音乐的应用程序。我已经按照 msdn 文章完成了所有操作:如何在后台播放音频

  • 声明的背景音频任务
  • 添加MediaElement到页面AudioCategory="BackgroundCapableMedia"
  • 订阅了SystemMediaTransportControls事件

音频开始播放,但是当我按下Start按钮时,音频会暂停,直到我重新打开应用程序

我已经尝试过 msdn 示例,但是当我按下Start按钮时它也会停止播放 -流式传输在线音频并在后台播放 Windows 8.1

0 投票
2 回答
380 浏览

c# - BackgroundAudioTask 在被另一个应用程序取消后不起作用

BackgroundAudioTask我的应用程序被 Windows Phone 8.1 上的其他应用程序取消BackgroundAudioTask时,当我回到我的应用程序时,它将不再在后台播放音频。当应用程序运行时它会正常播放,但如果它被暂停 - 背景音频也会停止。

重现此问题的步骤是:
我启动 Windows Phone 8.1 应用程序,它有一个BackgroundAudioTask& 一切正常。我启动另一个应用程序,例如音乐播放器,BackgroundAudioTask它会取消BackgroundAudioTask我的应用程序。

当我第二次启动我的应用程序时,我想重新注册我的应用程序,BackgroundAudioTask以便它的行为与最初一样。

Package.appxmanifest我有以下内容:

当我第一次运行应用程序时,将调用Run方法,并在任务中添加一个Deferral以确保即使我关闭我的应用程序也能保持活动状态:

当我从另一个应用程序启动音乐播放器时,我的 BackgroundAudioTask Canceled事件被调用(如果我不这样做setupDeferral.Complete(),我的应用程序将崩溃):

当我打开我的应用程序时,如何重新创建我的BackgroundAudioTask? 问题是该Run方法不再被调用,所以我无法Deferral再次设置。音乐现在可以在应用程序中正常播放,但一旦我离开应用程序,音乐就会停止。

我尝试使用以下代码在 App_Resuming 事件中手动重新注册 App.xaml.cs 中的任务:

上面的代码会抛出,InvalidArgumentException因为它没有触发器设置。我不希望它有触发器。我只想立即启动后台任务。

有没有办法手动指示操作系统再次运行背景音频或更好地处理取消的背景音频?

0 投票
1 回答
271 浏览

c# - 从另一个任务访问 BackgroundMediaPlayer

我有一个应用程序,它有两个后台任务:一个后台音频任务和一个蓝牙任务。我想要做的是从蓝牙任务的代码中修改音频播放的状态,而无需通过前台应用程序。我试着把它放在蓝牙任务中,希望它能起作用:

但事实证明它不起作用。即使正在播放背景音频,当我从蓝牙任务访问它的状态时,它的值也等于MediaPlayerState.Closed()。有人知道我该怎么做吗?我认为这是可行的,因为 BackgroundMediaPlayer 是一个全局对象,它在整个手机中只有一个实例,但显然.Current属性显然以某种方式特定于每个项目。我注意到它的类型为MediaPlayer,那么有什么方法可以将对象放在可以从两个任务中访问的全局容器中?

提前致谢

0 投票
2 回答
1032 浏览

ios - 直到应用程序移动到前台才会播放下一曲目的背景音频(Swift,iOS8.1)

我正在使用 SoundCloud API 构建流式音频应用程序。有 4 个视图控制器,第 4 个视图控制器是正在播放的音轨 VC - 类似于音乐应用程序上的正在播放场景。

当应用程序在前台时,一切都很好,下一个音轨开始正确播放。当应用程序移到后台时,当前曲目会继续播放,但一旦结束,下一首曲目不会播放,直到我将应用程序带回前台。我检查了一堆现有问题,例如iOS 背景音频不播放,但建议的解决方案都不起作用。


我在下面粘贴了用于播放曲目的 playTrack 方法的代码。当我使用调试器时,我可以看到,如果我在下面的闭包内添加断点,则在应用程序进入前台之前不会触发断点。

}


我已经在 Info.plist 文件中设置了 UIBackgroundModes 'audio' 值。有人对我做错了什么有任何建议吗?

谢谢,阿布舍克。