Ber*_*rnd 20 audio audiotoolbox ios swift swift-playground
我正在尝试用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)
Run Code Online (Sandbox Code Playgroud)
你可以想象,没有声音播放.我很欣赏有关如何让声音序列大声播放的任何想法.
aya*_*aio 14
您必须为Playground启用异步模式.
在顶部添加它(Xcode 7,Swift 2):
import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
Run Code Online (Sandbox Code Playgroud)
你的序列将会播放.
Xcode 8(Swift 3)也是如此:
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
Run Code Online (Sandbox Code Playgroud)
Cam*_*mer 10
import PlaygroundSupport
import AudioToolbox
var sequence : MusicSequence? = nil
var musicSequence = NewMusicSequence(&sequence)
var track : MusicTrack? = nil
var musicTrack = MusicSequenceNewTrack(sequence!, &track)
// Adding notes
var time = MusicTimeStamp(1.0)
for index:UInt8 in 60...72 { // C4 to C5
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!)
PlaygroundPage.current.needsIndefiniteExecution = true
Run Code Online (Sandbox Code Playgroud)
很棒的MIDI 参考页面,带有漂亮的图表
归档时间: |
|
查看次数: |
2605 次 |
最近记录: |