2

mp3を使用して特定のリンクでファイルをダウンロードしようとしていますNSURLConnection。ただし、通常はタイムアウト エラーが発生します。ブラウザーにリンクを入力すると、デフォルトのプレーヤーが表示されますが、音楽ファイルも読み込まれません。

mp3 のダウンロードはすべての国で違法ではない

ただし、次の単純な HTML ファイルを作成すると:

<html>
    <body>
        <a href="link_to_the_mp3" target="_blank">Download</a>
    </body>
</html>

Download次に、ファイルを Safari にロードし、リンクを右クリックしてからDownload to Computer(または英語で何と呼ばれるか) を選択すると、Safari がファイルをダウンロードします。

これを自分のアプリに実装する方法についてのアイデアはありますか?


使ってみた

NSData *data = [NSData dataWithContentsOfURL:url];

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *r, NSData *data, NSError *e) { /.../ }];`

成功せずに。

4

2 に答える 2

2

" " を使って、ハンマーでハエを打とうとしているようですNSURLConnection

次のようなもう少し高いレベルのことをやってみてください

NSData * mp3data = [[NSData alloc] initWithContentsOfURL:options:error: ];

error:(ここでの追加の利点は、メソッドに渡す " " パラメータを介して有用なエラーを取得できることです。

于 2012-12-08T14:32:04.513 に答える
1

これがあなたがする必要があることの例です:

NSURL* url = [NSURL URLWithString:yourMp3URLString];
//URL of the mp3 file

NSString* fileName = [NSString stringWithFormat:@"%@.mp3", mp3Name];
//NSString with the name of the mp3

NSString* destinationPath = [filePathString stringByAppendingPathComponent:fileName];
//NSString with the filePathString (NSString with path destination, you could 
//change it to something like this @"User/Desktop")
//and add the NSString filename to the end of it
//so, if we have like User/Desktop it will become User/Desktop/mp3Name.mp3

NSURLRequest* request = [NSURLRequest requestWithURL:url];
NSURLDownload* download = [[NSURLDownload alloc] initWithRequest:request delegate:self];
[download setDestination:destinationPath allowOverwrite:NO];
//create the URLRequest and Download the mp3 to the destinationPath
于 2012-12-08T14:24:22.717 に答える