gpt4 book ai didi

ios - 在 Swift Playground 中演奏音符

转载 作者:IT王子 更新时间:2023-10-29 05:13:25 33 4
gpt4 key购买 nike

我正在尝试在 Swift Playground 中播放一个带有默认正弦波的短音符序列作为声音。稍后我想用 Soundfont 替换声音,但目前我会很高兴只产生一些声音。

我希望这是一个类似 midi 的序列,可以直接控制音符,而不是纯粹基于音频的东西。 AudioToolbox 似乎提供了我正在寻找的东西,但我无法完全理解它的用法。这是我目前正在尝试的

import AudioToolbox

// Creating the sequence

var sequence:MusicSequence = nil
var musicSequence = NewMusicSequence(&sequence)

// Creating a track

var track:MusicTrack = nil
var musicTrack = MusicSequenceNewTrack(sequence, &track)

// Adding notes

var time = MusicTimeStamp(1.0)
for index:UInt8 in 60...72 {
var note = MIDINoteMessage(channel: 0,
note: index,
velocity: 64,
releaseVelocity: 0,
duration: 1.0 )
musicTrack = MusicTrackNewMIDINoteEvent(track, time, &note)
time += 1
}

// Creating a player

var musicPlayer:MusicPlayer = nil
var player = NewMusicPlayer(&musicPlayer)

player = MusicPlayerSetSequence(musicPlayer, sequence)
player = MusicPlayerStart(musicPlayer)

如您所想,没有声音播放。我很欣赏关于如何大声播放该声音序列的任何想法。

最佳答案

您必须为 Playground 启用异步模式。

在顶部添加这个(Xcode 7,Swift 2):

import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true

您的序列将播放。

对于 Xcode 8 (Swift 3) 也是如此:

import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true

关于ios - 在 Swift Playground 中演奏音符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37102685/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com