2012-03-22 5 views
0
- (void) showMediaPicker 
{ 
    MPMediaPickerController *picker = 
    [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAnyAudio]; 

    [[picker view] setFrame:CGRectMake(0, 0, 320, 480)]; 

    picker.delegate  = self; 
    picker.allowsPickingMultipleItems = YES; 
    picker.prompt  = NSLocalizedString (@"AddSongsPrompt", @"Prompt to user to choose some songs to play"); 

[self presentModalViewController:picker animated: YES]; 
[picker release]; 
} 
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker 
didPickMediaItems: (MPMediaItemCollection *) collection 
{ 
    [self dismissModalViewControllerAnimated: YES]; 
    [self playSelectedMediaCollection: collection]; 
} 
- (void) playSelectedMediaCollection: (MPMediaItemCollection *) collection { 

    if (collection.count == 1) { 
    NSArray *items = collection.items; 
    MPMediaItem *mediaItem = [items objectAtIndex:0]; 
    if ([mediaItem isKindOfClass:[MPMediaItem class]]) { 
     NSURL *url = [mediaItem valueForProperty:MPMediaItemPropertyAssetURL]; 
     AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:url]; 
     AVMutableAudioMix *fadeMix = [AVMutableAudioMix audioMix]; 
     AVMutableAudioMixInputParameters *params = [AVMutableAudioMixInputParameters audioMixInputParameters]; 
     [params setVolumeRampFromStartVolume:0 toEndVolume:1 timeRange: 
     CMTimeRangeMake(CMTimeMakeWithSeconds(0, 1), CMTimeMakeWithSeconds(5,1))]; 
     [fadeMix setInputParameters:[NSArray arrayWithObject:params]]; 
     [playerItem setAudioMix:fadeMix]; 
     AVPlayer *newAvPlayer = [[AVPlayer alloc] initWithPlayerItem:playerItem]; 
     [newAvPlayer play]; 
    } 
    } 
} 

このコードのビルド時エラーがi386アーキテクチャのための未定義のシンボルで再生できない曲を選択: から参照 "_CMTimeMakeWithSeconds"、: - [SongFileViewVC playSelectedMediaCollection:]から参照SongFileViewVC.o で "_CMTimeRangeMake" を、 : - [SongFileViewVC playSelectedMediaCollection:] SongFileViewVC.o LDに:記号(S)i386アーキテクチャ 打ち鳴らすが見つかりません:エラー:リンカーコマンドが終了コード1(呼び出しを確認するために-vを使用)MPMediaPickerControllerが

方法Iで失敗しましたそれを解決する。

+0

私の文書ディレクトリに曲を保存したいのですが? –

答えて

4

CoreMediaフレームワークをプロジェクトに追加するか、必要に応じて正しく追加およびインポートされていることを確認してください。

1

は私がMediaPlayer.framework

あなたの.h

#import <MediaPlayer/MPMusicPlayerController.h> 
#import <MediaPlayer/MPMediaPickerController.h> 

@interface libraryAccessViewController : UIViewController <MPMediaPickerControllerDelegate> 
{ 
    MPMusicPlayerController *player; 
    MPMediaPickerController *picker; 
} 

- (IBAction)pickMedia:(id)sender; 
- (IBAction)playMedia:(id)sender; 
- (IBAction)stopMedia:(id)sender; 

あなたの.m

を追加し、簡単な方法

を使用してそれをやりました

+0

このコードでは、私は歌を理解することを拒否する方法アクションの作業を行う方法 – PeterParker

+0

@ user1081749、それは未使用だった、私は編集しました!今、あなたは明確であることを願っています。 – Hemang

+0

お返事ありがとうございました – PeterParker

関連する問題