Ogg Vorbis Readability on iOS 27 - log5r/simple-media-player GitHub Wiki
Ogg Vorbis の読み込み検証(iOS 27)
検証日: 2026年9月27日
背景
Issue #3 で Ogg Vorbis の埋め込みタグを読み書きできるようにした。一方、iOS 27 シミュレータでは、当初のテスト用 .ogg を AVAudioFile で開けなかった。ファイル固有の問題かを調べるため、長さ・チャンネル数・メタデータを変えたファイルを比較した。
環境と結果
- Xcode 27.0(27A266a)
- iOS 27.0 シミュレータ、iPhone 18 Pro(24A5370g)
- 各ファイルは
ffprobeで Ogg Vorbis 音声として認識され、長さも取得できた。
| ファイル | 条件 | AVAudioFile(forReading:) |
AVURLAsset.load(.duration) |
|---|---|---|---|
| 既存のテスト用ファイル | 0.35秒、44.1 kHz、モノラル | 失敗 | 失敗 |
| 既存音声を再多重化したファイル | メタデータを除去、0.35秒、モノラル | 失敗 | 失敗 |
| 新規に生成した音声 | 5秒、44.1 kHz、モノラル | 失敗 | 失敗 |
| 新規に生成した音声 | 5秒、48 kHz、ステレオ | 失敗 | 失敗 |
AVAudioFile は4件とも ExtAudioFileOpenURL でエラー 1685348671 を返した。AVURLAsset の長さ取得は4件とも失敗し、下位エラーに fmt?(1718449215)が含まれた。いずれもテストバンドル内のファイルを指定しており、ファイル未収録による失敗ではない。
macOS 27.0 でも単独の AVAudioFile 読み込みを試したところ、既存ファイルと5秒のモノラル・ステレオ音声は同様に開けなかった。この確認はアプリ全体の動作試験とは別に行った。
判断と未確認事項
失敗は当初の短いテスト用ファイルだけに限定されない。今回変えた長さ・チャンネル数・メタデータの有無では結果が変わらなかった。現行の取り込み経路は AVURLAsset で長さを取得し、再生経路は AVAudioFile で音声を開くため、少なくとも検証した Ogg Vorbis ファイルはこの経路で取り込み・再生できない。
この結果だけで、すべての Ogg Vorbis ファイル、ほかの OS バージョン、実機での動作までは断定できない。また、エラーの根本原因がコーデック非対応か OS 側の不具合かは特定していない。埋め込みタグの読み書きは音声のデコードとは別の処理であり、今回の読み込み失敗とは切り分けて考える必要がある。
次に対応を検討する際は、別のエンコーダーで作ったファイルと実機で再現性を確認する。再現する場合は、取り込み・再生・変換保存が使う音声読み込み経路に Ogg Vorbis のデコード方法を追加する必要がある。