MIME类型audio / mpeg不是流媒体?

时间:2012-01-10 09:36:01

标签: ios4 audio streaming audio-streaming shoutcast

我在这里使用Matt Gallagher's流媒体。

我正在尝试播放S​​HOUTCast API返回的网址。但是,如果没有显示任何错误,则不会播放MIME类型为audio / mpeg的媒体。

但MIME类型的音频/ aacp播放正常。

为什么这样?我需要使用除此之外的东西吗?

在Matt的教程中他说过,对于mp3文件,我需要添加fileTypeHint但是已经存在MediaType = audio/mpeg,它不会进入下面的函数中的任何一种情况。

需要改变什么?

+ (AudioFileTypeID)hintForFileExtension:(NSString *)fileExtension
{
    AudioFileTypeID fileTypeHint = kAudioFileAAC_ADTSType;
    if ([fileExtension isEqual:@"mp3"])
    {
        fileTypeHint = kAudioFileMP3Type;
    }
    else if ([fileExtension isEqual:@"wav"])
    {
        fileTypeHint = kAudioFileWAVEType;
    }
    else if ([fileExtension isEqual:@"aifc"])
    {
        fileTypeHint = kAudioFileAIFCType;
    }
    else if ([fileExtension isEqual:@"aiff"])
    {
        fileTypeHint = kAudioFileAIFFType;
    }
    else if ([fileExtension isEqual:@"m4a"])
    {
        fileTypeHint = kAudioFileM4AType;
    }
    else if ([fileExtension isEqual:@"mp4"])
    {
        fileTypeHint = kAudioFileMPEG4Type;
    }
    else if ([fileExtension isEqual:@"caf"])
    {
        fileTypeHint = kAudioFileCAFType;
    }
    else if ([fileExtension isEqual:@"aac"])
    {
        fileTypeHint = kAudioFileAAC_ADTSType;
    }
    return fileTypeHint;
}

通过这个流媒体,我如何在我正在玩top5工作站的情况下工作,为此我从PLS文件中获取所有URL并将它们保存在数组中。

现在我如何继续播放它们,因为它是无线电

1 个答案:

答案 0 :(得分:3)

我也遇到了同样的问题。似乎如果没有fileExtension,则默认fileTypeHintkAudioFileAAC_ADTSType(作为函数的第一行)。

将其更改为AudioFileTypeID fileTypeHint = kAudioFileMP2Type将解决MediaType = audio/mpeg问题。