Предполагая, что вы используете источник мультимедиа по умолчанию, возможно, это поведение по умолчанию для источника файлов MP3 и источника файлов MPEG-4.
Чтобы подтвердить это, вы можете попробовать использовать пользовательский источник аудиофайлов mpeg, как этот, который я реализовал: MFSrMpeg12Decoder
Этот источник медиа-фонда управляет только аудиофайлом в формате mp1 / mp2 и выполняет декодирование. Это не mp3, но он предоставляет байтовый поток при наличии действительного audio mpeg header и не читает полный файл (вы можете мне доверять ...).
Это подтвердит, что по умолчанию для источника файлов MP3 необходимо прочитать полный файл, прежде чем будет предоставлен байтовый поток.
Одним из возможных ответов будет то, что источник файла MP3 читает весь файл, чтобы увидеть, есть ли переменная скорость передачи данных, и, таким образом, обеспечивает правильную длительность файла (MF_PD_DURATION). Для аудиофайла m4a длительность определяется атомом moov, поэтому нет необходимости читать полный файл.