2012-07-30 7 views
6

मैं आईफोन में यूआरएल लिंक का उपयोग कर एक संगीत फ़ाइल खेलना चाहता हूं। लेकिन जब मैं नीचे दिए गए कोड का उपयोग करता हूं तो मुझे त्रुटि मिल रही है, मुझे नहीं मिल रहा है कि मैं गलत कहां जा रहा हूं। क्या कोई मुझे सुधार सकता है?आईफोन में यूआरएल लिंक का उपयोग कर संगीत फ़ाइल कैसे खेलें?

-(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]; 
} 
+2

त्रुटि क्या है? –

+1

@ रन 2 के दौरान एच 2CO3 त्रुटि ऑडियोप्लेयर [1012: 10703] *** बिना अपवाद अपवाद के कारण ऐप को समाप्त करना 'एनएसआईएनवालिडअर्ग्यूमेंट एक्सेप्शन', कारण: '- [एनएससीओनकेटाडेटा बेसURL]: अज्ञात चयनकर्ता उदाहरण के लिए भेजा गया 0x7345540' *** पहले फेंक कॉल स्टैक – Abhilash

+0

आप NSURL को NSURL को पास करने का प्रयास कर रहे हैं, जो आपको त्रुटि दे रहा है। "initWithContentsOfURL: _objectData" –

उत्तर

14

यह काम करना चाहिए:

[self.player play];

+0

उपरोक्त कोड प्लेयर में है AVITlayer का ऑब्जेक्ट। खिलाड़ी के बारे में क्या?Bcoz मुझे बहुत सारी त्रुटियां मिलती हैं। – Abhilash

+0

self.playerItem AVPlayerItem का एक ऑब्जेक्ट है और self.player AVPlayer –

+0

का एक ऑब्जेक्ट है जिसमें अविकसित और आइटमस्टैटस कॉन्टेक्स्ट और प्लेयरस्टैटस कॉन्टेक्स्ट – Abhilash

0

वर्तमान उत्तर:

अब Why does AVAudioPlayer initWithContentsOfURL always fail with error code=-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]; 
+0

धन्यवाद लेकिन अभी भी त्रुटि ऑडियोप्लेयर है [1125: 10703] त्रुटि डोमेन = NSOSStatusErrorDomain Code = -43 "ऑपरेशन पूरा नहीं हो सका। (OSStatus error -43।)" – Abhilash

+0

जवाब संपादित करें initWithURL initWithContentsOfURL –

+0

अभी भी यह काम नहीं करता है पिछली त्रुटि दोहराई जा रही है *** अनचाहे अपवाद के कारण ऐप को समाप्त करना 'एनएसआईएनवालिडअर्गमेंट एक्सेप्शन' – Abhilash

0

मेरे कोड का प्रयास करें: संगीत खेलने के लिए

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]; 

उपयोग निम्न कोड :

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

    [yourMediaPlayer play]; 

^- ^, मैं उपरोक्त कोड के साथ MPMoviePlayerController का उपयोग करता हूं।

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]; 
0

मुझे लगता है कि आप

audioPlayer.numberOfLoops = -1; 

भेज रहे हैं प्राप्त करने के लिए NSInvalidArgumentException

audioPlayer.numberOfLoops = 1; 

के लिए इसे बदल और सेब के दस्तावेज़ की जाँच here

संबंधित मुद्दे