苹果手表模拟器现在可以播放音效了吗?

Posted

技术标签:

【中文标题】苹果手表模拟器现在可以播放音效了吗?【英文标题】:Can play a sound effect on apple watch simulator now? 【发布时间】:2015-02-06 06:48:31 【问题描述】:

我想在用户按下 WKInterfaceController 上的按钮时播放声音。这是我在项目中的做法: - 将 AVFoundation 框架添加到我的 watchkit 应用程序。 - 在我的 WKInterfaceController 上导入 AVFoundation - 为音频会话和播放器创建 2 个变量:

var audiosession:AVAudioSession!
var player:AVAudioPlayer!

- 为配置音频会话和配置音频播放器创建 2 个函数:

func configureAudioSession() 
        self.audioSession = AVAudioSession.sharedInstance()

        var categoryError:NSError?
        var activeError:NSError?
//        set category cho audio session
        self.audioSession.setCategory(AVAudioSessionCategoryPlayback, error: &categoryError)

        println("error: \(categoryError)")
//        set active cho audio session

        var success = self.audioSession.setActive(true, error: &activeError)

        if !success 
            println("error making audio session active :\(activeError)")
        
    


func configureAudioPlayer() 
//       Lay song path
        var songPath = NSBundle.mainBundle().pathForResource("Open Source - Sending My Signal", ofType: "mp3")
//        Chuyen thanh URL
        println("songpath: \(songPath)")
        var songURL = NSURL(fileURLWithPath: songPath!)

        println("songURL: \(songURL)")

//
        var songError:NSError?

//        Tao audioplayer

        self.player = AVAudioPlayer(contentsOfURL: songURL!, error: &songError)

        println("songerror:\(songError)")

        self.player.numberOfLoops = 0

    
之后,我完成了我的按钮按下功能,如下所示:

@IBAction func startGameButtonPressed()

self.configureAudioSession()
self.configureAudioPlayer()
self.player.play()

一切正常,虽然我的按钮可以工作,但我可以看到 southPath,但我听不到声音。我仍然在 IOS 应用程序上使用这些步骤,它工作正常。可能此时我们无法在 Watchkit 上播放音效?如果可以的话,请帮我做。

【问题讨论】:

【参考方案1】:

没有。无法在 Apple Watch 上使用 WatchKit 播放声音。 - Apple 的 WatchKit 传播者

目前无法使用最新版本的 WatchKit 播放声音。

我建议提交功能请求。

【讨论】:

【参考方案2】:

可以在apple watch应用程序中播放声音文件。您需要在apple watch应用程序扩展中单独添加声音文件,并调用AVAudioPlayer播放声音文件。

例如:

let path = NSBundle.mainBundle().pathForResource("coinFlip", ofType:"caf")
let fileURL = NSURL(fileURLWithPath: path!)
player = AVAudioPlayer(contentsOfURL: fileURL, error: nil)
player.prepareToPlay()
player.delegate = self
player.play()  

【讨论】:

这会在手表上播放声音,至少在模拟器中是这样。如果它在设备上什么都不做,我不会感到惊讶。

以上是关于苹果手表模拟器现在可以播放音效了吗?的主要内容,如果未能解决你的问题,请参考以下文章

苹果手表视频播放

苹果手表应用程序上的黑屏页面超过一页

苹果手表有时会播放声音

模拟器慢动作动画现在开始了吗?

Flutter Flame audio:不同设备上不同音量的音效

pspgo版本怎么看