2011-12-18 9 views
6

ट्रैक और कलाकार नाम सेट करने के साथ-साथ पृष्ठभूमि ऑडियो के लिए लॉक स्क्रीन पर एक छवि जोड़ने का एक तरीका है। डब्ल्यूडब्ल्यूडीसी 2011 वीडियो में इसका भी उल्लेख किया गया था, लेकिन कुछ भी विशिष्ट नहीं है। मैंने दस्तावेज़ों में हर जगह देखा है और इसे नहीं मिला। मुझे पता है कि यह आईओएस 5 केवल एक चीज है, और स्पॉटिफी के नवीनतम संस्करण में यह सुविधा है। क्या किसी को पता है कि वे मुझे सही दिशा में कहां इंगित कर सकते हैं?पृष्ठभूमि ऑडियो - लॉक स्क्रीन पर छवि

धन्यवाद, मैथ्यू

उत्तर

10

यहाँ एक जवाब मैं तुम्हारे लिए मिला है:

(1) आप रिमोट कंट्रोल के ईवेंट प्रबंधित करना होगा। अब तक आप ऐप बजाना नहीं कर सकते हैं जब तक आप ऐसा नहीं करते। (AudioMixer (MixerHost) sample) code देखें।)

(2) अभी चल रहा है जानकारी सेट करें:

MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter]; 
infoCenter.nowPlayingInfo = 
    [NSDictionary dictionaryWithObjectsAndKeys:@"my title", MPMediaItemPropertyTitle, 
               @"my artist", MPMediaItemPropertyArtist, 
               nil]; 

यह जो भी एपीआई आप ऑडियो या वीडियो खेलने के लिए उपयोग कर रहे हैं से स्वतंत्र है।

+0

कूल पर नहीं !!!!!!!!!!!! – Zhou

+0

इसके लिए बहुत बहुत धन्यवाद। – jarryd

+0

और आप लॉक स्क्रीन छवि कैसे सेट करते हैं? – openfrog

3

माइकल्स के अनुसार इसके बाद के संस्करण का जवाब, बस nowPlayingInfo dict को

@{MPMediaItemPropertyArtwork: [[MPMediaItemArtwork alloc] initWithImage:[UIImage ...]]} 

संलग्न

उपलब्ध चाबियों का पूर्ण विकल्प हैं ...

// MPMediaItemPropertyAlbumTitle 
// MPMediaItemPropertyAlbumTrackCount 
// MPMediaItemPropertyAlbumTrackNumber 
// MPMediaItemPropertyArtist 
// MPMediaItemPropertyArtwork 
// MPMediaItemPropertyComposer 
// MPMediaItemPropertyDiscCount 
// MPMediaItemPropertyDiscNumber 
// MPMediaItemPropertyGenre 
// MPMediaItemPropertyPersistentID 
// MPMediaItemPropertyPlaybackDuration 
// MPMediaItemPropertyTitle 
1

नियंत्रण के काम करने के लिए ....

- (BOOL)canBecomeFirstResponder { 

return YES; 

} 

- (void)viewDidAppear:(BOOL)animated { 

[super viewDidAppear:animated]; 

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 

[self becomeFirstResponder]; 

} 

- (void)viewWillDisappear:(BOOL)animated { 

[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 

[self resignFirstResponder]; 

[super viewWillDisappear:animated]; 

} 

- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent { 

if (receivedEvent.type == UIEventTypeRemoteControl) { 

switch (receivedEvent.subtype) { 

case UIEventSubtypeRemoteControlPlay: 

[player play]; 

break; 

case UIEventSubtypeRemoteControlPause: 

[player pause]; 

break; 

case UIEventSubtypeRemoteControlTogglePlayPause: 

if (player.playbackState == MPMoviePlaybackStatePlaying) { 

[player pause]; 

} 

else { 

[player play]; 

} 

break; 

default: 

break; 

} 

} 

} 

यह केवल एक वास्तविक आईओएस डिवाइस पर काम करता है, सिम्युलेटर