0

我下载了代码 DigitalDJ / AudioStreamer 以在我正在做的播放器中使用,这是我下载的项目:https ://github.com/DigitalDJ/AudioStreamer

在我决定升级它之前使用过这个库,它支持多线程,

但是当我将流媒体服务器 http://thor.nickpack.com:9000 的地址更改为我的服务器的地址时,它不会运行音频。

将 viewController 中 TextField 中的服务器路径替换为我的路径:http://184.154.37.132:7075 看到我的问题。

另一种解决方案是修改支持多线程的旧播放器,我尝试了几个代码并不能,当时我找到了DigitalDJ / AudioStreamer,但我遇到了我上面提到的问题,

这是没有多线程的示例应用程序的链接:http ://www.mediafire.com/?eb7a6a87e8tqcbc

如果有人知道如何在背景中实现音频或如何解决流服务器的问题,我将不胜感激。

4

2 回答 2

1

经过很长一段时间,几乎疯了,试图通过评论这个trexo AudioStreamer.m中的代码来解决这个问题

// hintForMIMEType
//
// Make a more informed guess on the file type based on the MIME type
//
// Parameters:
//    mimeType - the MIME type
//
// returns a file type hint that can be passed to the AudioFileStream
//
/*
+ (AudioFileTypeID)hintForMIMEType:(NSString *)mimeType
{
    AudioFileTypeID fileTypeHint = kAudioFileMP3Type;
    if ([mimeType isEqual:@"audio/mpeg"])
    {
        fileTypeHint = kAudioFileMP3Type;
    }
    else if ([mimeType isEqual:@"audio/x-wav"])
    {
        fileTypeHint = kAudioFileWAVEType;
    }
    else if ([mimeType isEqual:@"audio/x-aiff"])
    {
        fileTypeHint = kAudioFileAIFFType;
    }
    else if ([mimeType isEqual:@"audio/x-m4a"])
    {
        fileTypeHint = kAudioFileM4AType;
    }
        else if ([mimeType isEqual:@"audio/mp4"])
    {
        fileTypeHint = kAudioFileMPEG4Type;
    }
        else if ([mimeType isEqual:@"audio/x-caf"])
    {
        fileTypeHint = kAudioFileCAFType;
    }
        else if ([mimeType isEqual:@"audio/aac"] || [mimeType isEqual:@"audio/aacp"])
    {
        fileTypeHint = kAudioFileAAC_ADTSType;
    }
    return fileTypeHint;
 }*/

使用此代码注释掉在我的服务器上播放的音频没有问题

于 2012-05-22T13:53:12.583 回答
0

我在使用 AudioStreamer 连接到 MP3 流时遇到问题。该示例可以在模拟器上运行,但不能在设备上运行。我认为因为模拟器不是 ios 设备的精确副本。在模拟器上,它使用安装在 mac 上的 quicktime。

对于本地 MP3 文件,请使用 AVAudioPlayer。

对于远程 MP3 流使用 AVPlayer。

一个好的示例项目位于

https://github.com/valvoline/CPStreamPlayer

远程流通常需要时间连接才能超时。此示例显示其缓冲。

在 Github 上搜索 AVPlayer 有一些示例。

CPStreamPlayer/AVPlayer 支持重定向,所以我们有

http://stream.fireplayer.com/greyhound/dyn?action=stream.StreamMix&id=1785

但这已重定向到在亚马逊上生成 Mp3 文件/流

http://s3.amazonaws.com/fireplayer_mp3/1785.mp3?AWSAccessKeyId=AKIAJAHV5HUV4TVRF5VA&Expires=1337595252&Signature=c%2FH%2FO9AACkovm%2BAhbWyD7E9Hb6A%3D";
于 2012-05-21T10:21:03.613 回答