Próbuję odtworzyć krótką nutę muzyczną z domyślną falą sinusoidalną jako dźwiękiem wewnątrz Swift Playground. W późniejszym momencie chciałbym zamienić dźwięk na Soundfont, ale w tej chwili byłbym zadowolony z tego, że wyprodukowałem jakiś dźwięk.Odtwarzanie nut na Placu Swift
Chcę, aby była to sekwencja typu midi z bezpośrednią kontrolą nad nutami, a nie czymś czysto audio. Wydaje się, że AudioToolbox
zapewnia to, czego szukam, ale mam problemy z pełnym zrozumieniem jego użycia. Oto, czego aktualnie próbuję:
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)
Jak można sobie wyobrazić, nie słychać dźwięku. Doceniam wszelkie pomysły na głośne odtwarzanie tej sekwencji dźwiękowej.