在没有用户界面的情况下,苹果手表真的无法播放短声吗? [英] Is there REALLY no way to play short sounds on Apple watch without a UI?

查看:42
本文介绍了在没有用户界面的情况下,苹果手表真的无法播放短声吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

作为学习练习,我决定为Apple Watch(iOS 9.3,WatchKit 2.0)编写一款Simon游戏。

我在GarageBand中创建了4个简短的钢琴音符声音。我在Audacity中将它们转换为MP3文件,结果发现Apple Watch不支持MP3。好的,太好了。我需要将它们转换为wav或caf文件。叹息...

无论如何,仔细研究一下,似乎播放任何声音的唯一方法就是在手表上显示媒体控制器。(使用presentMediaPlayerControllerWithURL:options:completion:WKInterfaceMovie

我只想在用户按下按钮时播放不同的1/4秒钢琴声音。

当前的WatchKit是否有其他不需要显示媒体控制器的方式?

推荐答案

使用WatchOS4我使用WKInterfaceMovie使其正常工作。它不是那么繁重,而且比presentMediaPlayerControllerWithURL要好得多。使用IB,您需要将WKInterfaceInlineMovie对象拖到手表表面上(将其调整得非常小-您将看不到它)将该对象连接到您的WKInterfaceController:

 @IBOutlet weak var myMovie: WKInterfaceInlineMovie!

我将几个按钮拖到界面控制器上,并从与该按钮相关联的IBAction中使用正确声音文件的标识符调用以下代码:

   func playSound(numberOfNote: Int) {
        let soundURL = Bundle.main.url(forResource: "note(numberOfNote)", withExtension: "wav")!
        myMovie.setMovieURL(soundURL)
        myMovie.playFromBeginning()
    }

我点击一个按钮,声音立即响亮(不带耳机)(与其他方法不同,其他方法需要长时间停顿,而且需要关闭显示的控制器)。这应该是您声明的需求的完美之选。🍀

这篇关于在没有用户界面的情况下,苹果手表真的无法播放短声吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆