zoukankan      html  css  js  c++  java
  • iOS上获取iTunes音乐权限

    方法一:

    MPMediaQuery *mysongsQuery = [MPMediaQuery songsQuery];

        _songsArray = [mysongsQuery items];

        

        for (MPMediaItem *song in _songsArray) {

            NSString *songTitle = [song valueForProperty:MPMediaItemPropertyTitle];

            NSString *assetUrl = [song valueForProperty:MPMediaItemPropertyAssetURL];

            NSLog (@"%@ %@", songTitle,assetUrl);

        }

        

        MPMediaQuery *playlistQuery = [MPMediaQuery playlistsQuery];

        for (MPMediaPlaylist *playlist in playlistQuery.items)

        {

            NSString *playlistName = [playlist valueForProperty:MPMediaPlaylistPropertyName];

            NSLog (@"%@", playlistName);

        }

        

        MPMediaQuery *albumQuery = [MPMediaQuery albumsQuery];

     

    方法二:

     

    MPMediaPickerController *vc = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];

            vc.delegate = self;

            [self presentViewController:vc animated:YES completion:^{

                

            }];

    并实现代理方法:

     

    - (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection*)mediaItemCollection

    {

        MPMediaItem *item = mediaItemCollection.items.firstObject;

        NSString *songTitle = [item valueForProperty:MPMediaItemPropertyTitle];

        NSURL *assetUrl = [item valueForProperty:MPMediaItemPropertyAssetURL];

        NSLog (@"%@ %@", songTitle,assetUrl);

        

        [mediaPicker dismissViewControllerAnimated:YES completion:^{

            

        }];

        

        MPMusicPlayerController* mDRMAudioPlayer = [MPMusicPlayerController applicationMusicPlayer];

        [mDRMAudioPlayer setQueueWithItemCollection:mediaItemCollection];

        [mDRMAudioPlayer play];

    }

     

    - (void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker

    {

        [mediaPicker dismissViewControllerAnimated:YES completion:^{

            

        }];

    }

  • 相关阅读:
    STDMETHOD_,STDMETHOD,__declspec(novtable)和__declspec(selectany)
    __stdcall 与 __cdecl
    winows 进程通信的实例详解
    Windows 下多线程编程技术
    MFC/VC++ UI界面美化技术
    VC++中 wstring和string的互相转换实现
    VS2010项目转化为VS2008项目
    VC++ 响应回车键的2种方法
    高效 告别996,开启java高效编程之门 2-4实战:单一条件参数化
    高效 告别996,开启java高效编程之门 2-3实战:硬编码业务逻辑
  • 原文地址:https://www.cnblogs.com/zengyanzhi/p/3861062.html
Copyright © 2011-2022 走看看