2015-10-15 9 views
5

मैं अपने अनुप्रयोग में किसी URL से ऑडियो चलाने के लिए कोशिश कर रहा हूँ। आईओएस 8 (सिम्युलेटर और भौतिक उपकरणों) में अपेक्षित सब कुछ होता है। आईओएस 9 के लिए, यह सिम्युलेटर में काम करता है लेकिन डिवाइस पर, ऑडियो बस नहीं खेलता है। स्ट्रीमिंग प्रतीत होती है, अगर मैं play पर क्लिक करता हूं, तो प्रोग्रेस बार यह भी दिखाता है कि ऑडियो लोड हो रहा है और खेल रहा है लेकिन आवाज नहीं आती है। यह समस्या आईओएस 9 भौतिक डिवाइस में हो रही है। यह आईओएस 8 भौतिक डिवाइस के साथ पूरी तरह से ठीक काम करता है।AVPlayer नहीं खेल ऑडियो - आईओएस 9, उद्देश्य - सी

मैं एक साधारण बटन बनाया। बटन पर क्लिक करने पर, AVPlayerViewController लोड हो गया है और AVPlayer को दिए गए यूआरएल के साथ शुरू किया गया है। कोड पीछा कर रहा है:

#import "ViewController.h" 
#import <AVKit/AVKit.h> 
#import <AVFoundation/AVFoundation.h> 


@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 
- (IBAction)playAudio:(id)sender { 
    NSURL *url = [NSURL URLWithString:@"https://path/to/my.mp3"]; 
    [self performSegueWithIdentifier:@"playSegue" sender:url]; 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    AVPlayerViewController *viewController = (AVPlayerViewController *)segue.destinationViewController; 
    viewController.player = [AVPlayer playerWithURL:(NSURL *)sender]; 
} 

@end 
+0

segue के लिए अपने को तैयार में यूआरएल नहीं के बराबर है? –

+0

नहीं। मैंने 'NSLog ("% @ ", (NSURL *) प्रेषक किया था) और उसने मेरे लॉग में यूआरएल दिया। –

उत्तर

24

5 दिनों के लिए विभिन्न परीक्षण और त्रुटि रणनीति करने के बाद, मैं अंत में पता लगा कि मेरी समस्या फोन की मूक स्विच के साथ किया गया था। जब यह म्यूट पर होता है, तो ऑडियो नहीं खेलता है! तो, मैं प्लेबैक के रूप में मेरी श्रेणी निर्दिष्ट करने के लिए कोड की निम्न पंक्ति जोड़ा गया है और अब यह और भी निभाता है जब मेरे डिवाइस स्विच मूक

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 

धन्यवाद पर है!

+1

मेरे गधे को बचाया। धन्यवाद –

+0

यह कोड मेरे लिए भी काम करता है, धन्यवाद, लेकिन मुझे आईफोन में पता नहीं चला कि आप किस बारे में बात कर रहे हैं। जो मूक है? –

+1

@ArpitBParekh मैंने जिस स्विच का उल्लेख किया है वह वॉल्यूम रॉकर बटन के ऊपर ऊपर बाईं तरफ पैनल पर है। अगर कोड काम करता है और आपकी मदद करता है, तो उत्थान की सराहना की जाएगी :) –

1

इसी मुद्दे के साथ किसी को भी के लिए, यहाँ स्विफ्ट समाधान है।

try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: []) 

और कुछ documentation

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