我一直试图解决一个神秘的正弦波问题,但收效甚微。我在这里开始一个新问题,因为我认为我已经深入研究了这个问题的细节。
当设置 AKSequencer 并向其提供 MIDI 文件时,我看到一些奇怪的结果。
对于 4 轨歌曲(具有相应的 4 轨 midi 文件,持续时间与歌曲的所有主干匹配),我发现音序器实际上是使用 5 条轨道生成的。额外的轨道是什么?
另外,我在控制台中收到错误:
[seq] 1026: Invalid beat range
我相信当赛道是空的时候就会发生这种情况。
所以这看起来像是我神秘的正弦波的罪魁祸首。
关于如何解决这个问题有什么想法吗?这让我有点疯狂......
谢谢!
我目前正在使用以下方法来播放歌曲中的词干:
我的问题是:有没有办法自动创建此MIDI文件。我知道词根的数量和歌曲的持续时间;如何动态创建Audiokit启用AKSequencer所需的MIDI文件?
任何关于此的想法或想法都非常受欢迎,因为在添加新歌曲时,它将节省大量的手工工作。谢谢!
我一直在使用Audiokit.stop(),效果不错,还有一些我现在想解决的小问题。随着最近对 Audiokit 4.2 的更新,我现在从以下代码中收到(非常有用的)错误消息:
do {
try AudioKit.stop()
} catch {
AKLog("AudioKit did not stop!")
}
Run Code Online (Sandbox Code Playgroud)
我的错误代码是这样的:
2018-04-24 16:14:48.099606+0100 MyProject[517:62626] [avas] AVAudioSession.mm:1142:
-[AVAudioSession setActive:withOptions:error:]: Deactivating an audio session that has
running I/O. All I/O should be stopped or paused prior to deactivating the audio session.
AudioKit.swift:stop():299:couldn't stop session
Error Domain=NSOSStatusErrorDomain Code=560030580 "(null)"
GameScene.swift:update:755:AudioKit did not stop!
Run Code Online (Sandbox Code Playgroud)
所以我的问题是 - 如何按照错误消息的建议正确停止或暂停所有输入和输出(I/O)?
下面的代码显示了我的视频文件在正确的 zPosition 中,以及我正在使用的其他元素,创建了一个背景视频。
我遇到的问题是垂直视频(1080x1920 像素)逆时针旋转 90 度,并被拉伸以适合横向视频。如何在不牺牲使用 SKVideoNode 和 zPosition 的需要的情况下确保正确的方向?
let videoNode: SKVideoNode? = {
guard let urlString = Bundle.main.path(forResource: "merry", ofType: "mov") else {
return nil
}
let url = URL(fileURLWithPath: urlString)
let item = AVPlayerItem(url: url)
player = AVPlayer(playerItem: item)
return SKVideoNode(avPlayer: player)
}()
videoNode?.position = CGPoint( x: frame.midX, y: frame.midY)
videoNode?.size = self.frame.size
videoNode?.zPosition = 20
addChild((videoNode)!)
player.play()
player.volume = 0
Run Code Online (Sandbox Code Playgroud)
非常感谢!