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

しかし、これはAmazonで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 に答える