iOS11 Audio関連で追加された機能で気になったものをまとめておきます。
内容はここで見ることができます。
今年からApple Developer登録していない方でもVideoが見られるようになったようです。
(WWDC 2017に見た新しい教材のあり方|MacFan)
AVAudioEngine関連
offlineモード追加
ようやくofflineモードが追加され、オーディオファイルに出力できるようになりました。
Mixdownとも言います。
CoreAudioでは元々できましたが、AVAudioEngineでもできるようになりました。
realtimeレンダリング
サンプル単位でリアルタイムでデータを入れて再生できるようになりました。
CoreAudioで実装する場合と同じくUnsafePointer<AudioBufferList>
を使うようです。
[補足]動作するサンプルコードがどこにも見当たりません。
Completion Callbacks
.dataConsumed
.dataRendered
.dataPlayedBack
いまいち 理解できておりませんがメモ。
AUGraphが2018年にDeprecationとなる予定
ううむ、マジですか。
iOS12にはAUGraphの全ての機能をAVAudioEngineに入れるつもりってことですな。
まあ、Objective-Cでそのまま書き換えればいいかな。
すぐに使えなくなるわけでもないので放置でもいいですが。
AirPlay2関連
AirPlay自体よく分かっておりません。。
AUAudioUnit関連
MIDI出力できるようになったようです。
iOSにパラメータ表示Viewが追加されたようです。
FLAC,Opus に対応
FLACは可逆フォーマット(wav,cafと同じ)
Opusは非可逆フォーマット(aac,mp3と同じ)
ハイレゾプレーヤーを作っている方は
自前で実装しなくてよくなったということですな。
Iner-Device Audio Mode + MIDI
macOS 10.11(El Capitan),iOS9でAudioのやりとりができるように追加された機能ですが、
macOS 10.13(High Sierra),iOS11でMIDIのやりとりもできるようになったようです。
デモでは、iPadのシーケンサーからMIDI(ノートやボリュームオートメーション?)
を出力しmacOSのLogicで録音していました。