作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将我在SWIFT中编写的MacOS应用程序中的音频直接定向到空中播放扬声器。
我可以将音频定向到板载声音输出,或者说USB DAC没问题。我可以说出一个已连接的USB DAC的音频设备ID,并且可以在我的应用程序中直接将音频定向到特定的水平,但是很难找到使用SWIFT / AVPLAYER播放扬声器的好的样本/文档。
有人看到过将macOS(非ios)快速应用程序中的音频直接定向到airplay扬声器的任何好的文档/代码示例吗?即如何获取airplay音频设备ID的列表并从avplayer发送输出到它们?
为了将声音输出说成USB DAC,我可以使用此功能获取播放音频设备ID的列表-
func getOutputDevices()-> [AudioDevice] {
print_log ("")
print_log("+++ START AUDIO PLAYBACK DEVICES FOUND....")
print_log ("")
for device in AudioDevice.allOutputDevices() {
print("DEVICE NAME: " + device.name + " -> DEVICE ID: " + String(device.uid ?? "Empty Device"))
}
print_log ("")
print_log("+++ END AUDIO PLAYBACK DEVICES FOUND....")
print_log ("")
return AudioDevice.allOutputDevices()
print_log("Setting audio output device to " + String(playback_device.uid ?? "Empty"))
gbl_queue_player.audioOutputDeviceUniqueID=playback_device.uid
gbl_queue_player.addObserver(stage, forKeyPath: "status", options: NSKeyValueObservingOptions.new, context: nil)
gbl_queue_player.addObserver(stage, forKeyPath: "rate", options: NSKeyValueObservingOptions.new, context: nil)
gbl_queue_player.addObserver(stage, forKeyPath:"currentItem", options:NSKeyValueObservingOptions.new, context:nil)
gbl_queue_player.play()
print_log("Airplay button clicked")
let frame = CGRect(x: 50, y: 50, width: 100, height: 50)
if #available(OSX 10.15, *) {
gbl_routePickerView = AVRoutePickerView(frame: frame)
gbl_routePickerView.player=gbl_queue_player
view.addSubview(gbl_routePickerView)
} else {
// Fallback on earlier versions
print_log("OS Does not support avroute picker.")
}
最佳答案
在 View 层次结构中实例化AVRoutePickerView
,然后将AVPlayer
实例分配给AVRoutePickerView
的player
属性。然后,您将具有一个GUI,用于为AVPlayer
选择AirPlay路线。
关于swift - 使用AVPlayer从MacOS Swift应用程序将音频定向到空中播放扬声器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61629249/
我正在研究 Java Card (SIM),并且正在使用 OTA 技术。有些表达方式我还没有一个很好的定义。 例如,当我在 SIM(用户身份模块)上加载小程序时,我使用 BIP 或 SMS。我知道短信
我是一名优秀的程序员,十分优秀!