6

iPhoneでURLリンクを使って音楽ファイルを再生したい。しかし、以下のコードを使用すると、エラーが発生します。どこが間違っているのかわかりません。誰かが私を訂正できますか?

-(void)viewDidLoad 

{

[super viewDidLoad];
NSString* resourcePath = @"http://192.167.1.104:8888/SHREYA.mp3"; //your url

NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePath]];
NSError *error;


audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:_objectData error:&error];
audioPlayer.numberOfLoops = -1;

if (audioPlayer == nil)
    NSLog([error description]);             

else 
    [audioPlayer play];
}
4

5 に答える 5

14

これは機能するはずです:

NSURL *url = [NSURL URLWithString:@"<#Live stream URL#>];

// You may find a test stream at <http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8>.

self.playerItem = [AVPlayerItem playerItemWithURL:url];

//(optional) [playerItem addObserver:self forKeyPath:@"status" options:0 context:&ItemStatusContext];

self.player = [AVPlayer playerWithPlayerItem:playerItem];

self.player = [AVPlayer playerWithURL:<#Live stream URL#>];

//(optional) [player addObserver:self forKeyPath:@"status" options:0 context:&PlayerStatusContext];

次のコードを使用して音楽を再生します。

[self.player play];

于 2012-07-30T07:03:12.440 に答える
5

次のことを試してください。

-(void)viewDidLoad 

{

[super viewDidLoad];
NSString* resourcePath = @"your url"; //your url

NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePath]];
NSError *error;


audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
audioPlayer.numberOfLoops = 1;

if (audioPlayer == nil)
    NSLog([error description]);             

else 
    [audioPlayer play];
于 2013-09-20T06:20:05.317 に答える
0

現在の回答:

ここで、AVAudioPlayerinitWithContentsOfURLが常にエラーコード=-43リンクで失敗する理由を考えてみましょう。その解決策はavplayerリンクです

以前の回答

//You have to pass NSURL not NSData
 NSString* resourcePath = @"http://192.167.1.104:8888/SHREYA.mp3"; //your url
 NSURL *url = [NSURL alloc]initWithString:resourcePath];
 audioPlayer = [[AVAudioPlayer alloc] initWithURL:url error:&error];

 audioPlayer.delegate = self;
 [url release];

 [audioPlayer prepareToPlay];
 [audioPlayer play];
于 2012-07-30T06:28:00.693 に答える
0

私のコードを試してください:

NSURL *filepath = [NSURL fileURLWithPath:audioFilePath];
 [yourMediaPlayer setContentURL:filepath];
  //set player.
  yourMediaPlayer.controlStyle = MPMovieControlStyleNone;
  yourMediaPlayer.currentPlaybackTime = 0;
  yourMediaPlayer.shouldAutoplay = FALSE;

  [yourMediaPlayer play];

^-^、上記のコードでMPMoviePlayerControllerを使用します。

于 2012-07-30T07:19:18.670 に答える
0

私はあなたが送っていると思います

audioPlayer.numberOfLoops = -1;

NSInvalidArgumentExceptionを受け取るには、次のように変更します。

audioPlayer.numberOfLoops = 1;

ここでアップルのドキュメントを確認してください

于 2014-01-07T09:11:28.270 に答える