मैं xcode 4.2 का उपयोग कर रहा हूं और एक आईफोन ऐप बना रहा हूं, और एक दृश्य है कि जब खोला जाता है तो ऑडियो स्ट्रीम चलाता है।
मैं जो हासिल करने का प्रयास करता हूं वह है कि ऐप पृष्ठभूमि में प्रवेश करने पर भी खेलना जारी रखे।
मैंने किसी भी संभावित समाधान की कोशिश की है जिसे मैंने स्टैक ओवरफ्लो या अन्य जगहों में पाया है (और कई उपलब्ध हैं), लेकिन यह काम नहीं कर सकता है। जब एप्लिकेशन पृष्ठभूमि में प्रवेश करता है तो ऑडियो बंद हो जाता है, जब मैं ऐप खोलता हूं तो ऑडियो जारी रहता है।
Required Background Modes -> App plays audio
&
Application does not run in background -> NO
आईफोन - पृष्ठभूमि में ऑडियो स्ट्रीम चलाएं
मैं क्या याद आ रही है:
मेरी Info.plist आइए में 2 पंक्तियाँ निर्धारित किया है? पृष्ठभूमि में ऑडियो बजाने के लिए और क्या चाहिए?
अग्रिम धन्यवाद।
संपादित करें: मुझे इस मुद्दे पर कई उत्तरों दिखाई देते हैं, AVAudio Framework के उपयोग का सुझाव देते हैं। क्या कोई मौका है कि MPMoviePlayerController पृष्ठभूमि में स्ट्रीम चलाने में सक्षम नहीं है? क्या मुझे AVAudio में बदलना चाहिए?
संपादित करें 2:
ठीक है, ऐसा लगता है कि यह मेरे लिए बहुत जटिल है। मैं सही कोड दे रहा हूं, उम्मीद है कि इससे मदद मिलेगी।
RadioStreamer.h
#import <UIKit/UIKit.h>
#import "MediaPlayer/MediaPlayer.h"
@interface RadioStreamer : UIViewController {
MPMoviePlayerController *player;
IBOutlet UIButton *playButton;
IBOutlet UIButton *pauseButton;
}
@property (nonatomic, retain) MPMoviePlayerController *player;
@property (nonatomic, retain) IBOutlet UIButton *playButton;
@property (nonatomic, retain) IBOutlet UIButton *pauseButton;
- (IBAction)playButtonPressed:(id)button;
- (IBAction)pauseButtonPressed:(id)button;
- (void) playAudio;
- (void) pauseAudio;
@end
RadioStreamer.m
#import "RadioStreamer.h"
#import "tabbartestAppDelegate.h"
@implementation RadioStreamer
@synthesize player;
@synthesize playButton;
@synthesize pauseButton;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
return self;
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
[email protected]"";
// Do any additional setup after loading the view from its nib.
if (!self.player) {
player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://s6.onweb.gr:8006/listen.pls"]];
player.movieSourceType = MPMovieSourceTypeStreaming;
player.view.frame = CGRectMake(55, 180, 200, 30);
player.backgroundView.backgroundColor = [UIColor clearColor];
player.view.backgroundColor = [UIColor clearColor];
[self.view addSubview:player.view];
[player play];
}
}
- (void) playAudio {
if (player.playbackState != MPMoviePlaybackStatePlaying){
[player play];
}
}
- (void) pauseAudio {
if (player.playbackState == MPMoviePlaybackStatePlaying) {
[player pause];
}
}
- (IBAction)playButtonPressed:(id)button {
[self playAudio];
}
- (IBAction)pauseButtonPressed:(id)button {
[self pauseAudio];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
- (void)dealloc {
[self.player release];
[self.playButton release];
[self.pauseButton release];
self.player = nil;
self.playButton = nil;
self.pauseButton = nil;
}
@end
ऐप लॉन्च होने पर पृष्ठभूमि में आईओएस 5 - ऑडियो फाइल चलाने के संभावित डुप्लिकेट] (http://stackoverflow.com/questions/9199095/ios-5-play-audio-file-in-the-background -वेन-द-ऐप-लॉन्च) –
धन्यवाद पार्थ। इस क्यू में AVAudioPlayer का उपयोग किया जाता है, MPMoviePlayerController नहीं। आपको लगता है कि इसमें कोई फर्क नहीं पड़ता? – CrisDeBlonde
प्रश्न वही है .. केवल दृष्टिकोण अलग है। यदि आप अपने लिए काम करते हैं तो आप अपना दृष्टिकोण बदल सकते हैं। –