【发布时间】:2016-09-03 07:35:01
【问题描述】:
我正在尝试在 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, ¬e)
time += 1
}
// Creating a player
var musicPlayer:MusicPlayer = nil
var player = NewMusicPlayer(&musicPlayer)
player = MusicPlayerSetSequence(musicPlayer, sequence)
player = MusicPlayerStart(musicPlayer)
您可以想象,没有声音播放。我很欣赏有关如何让声音序列大声播放的任何想法。
【问题讨论】:
标签: ios swift audio swift-playground audiotoolbox