سؤال

كيف يمكنني الحصول على ملف موسيقى iPod في Avaudioplayer؟

هل كانت مفيدة؟

المحلول

لا يوجد لدى SDK حكم لقراءة الملفات من مكتبة iPod (حيث تحتاج إلى القيام بالاستخدام AVAudioPlayer مع ذلك) ، ربما لأسباب مكافحة القرصنة. لتشغيل عناصر مكتبة iPod ، استخدم MPMusicPlayerController صف دراسي.

تحرير: لم يعد هذا دقيقًا. انظر الإجابات أدناه التي تصف استخدام فئة Avplayer.

نصائح أخرى

كما يذكر ديفيد أن هناك المزيد من العمل الذي يجب القيام به أكثر من هذا ، على سبيل المثال ، عليك إدارة تشغيل المسار التالي في مجموعة من عناصر الوسائط ، ولكن إليك إحدى الطرق للقيام بذلك بمجموعة من mpmediaItems . Asseturl هو ما تستخدمه ، فهو يمنحك مسارًا لملف MP3 (على سبيل المثال iPod-library: //item/item.mp3؟ id = -68891452429354020)

NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];                      
[self.audioPlayerMusic play];

نعم ، يمكنك تشغيل الأغاني من مكتبة iPod باستخدام SDK دون اللجوء إلى MPMusicPlayerController صف دراسي.

أكثر أساسية AVPlayer يمكن للفئة التعامل مع ملفات الصوت من مكتبة iPod باستخدام NSUrl القيمة من الأغنية MPMediaItemPropertyAssetURL منشأه. يجب عليك القيام بالكثير من العمل للحصول على كل شيء بشكل صحيح ، ولكن يمكن القيام به.

هل هناك أي إمكانية للحصول على معلومات حول MB-Meter في MPMusicPlayerController؟ ربما بدء AVAudioSession للتسجيل بالتوازي هل القيام بالمهمة ؟؟ أحتاج إلى قيم DB لبناء نوع من طيف الحجم.

- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
    NSURL *url = [[mediaItemCollection.items objectAtIndex:0] valueForProperty:MPMediaItemPropertyAssetURL];

    NSError *error;
    self.player = [[AVAudioPlayer alloc] url error:&error];

    if (!error) {
        [self.player prepareToPlay];
        [self.player play];
    }

    [mediaPicker dismissModalViewControllerAnimated:YES];
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top