播放ipod歌曲

播放ipod歌曲

1、获取iPod歌曲列表:

有两种方式:
(1),使用picker选取
MPMediaPickerController *picker =

[[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];

picker.delegate = self;

picker.allowsPickingMultipleItems = YES;

picker.prompt = @”新增歌曲”;

[self presentModalViewController: picker animated: YES];

[picker release];

 

回调方法:

 

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

mediaItemCollection 就是我们所需要的歌曲的列表

(2)通过MPMediaQuery

MPMediaQuery *query = [MPMediaQuery playlistsQuery];//初始话类型 枚举playlistsQuery

NSArray *tempArray = [[NSArray alloc] initWithArray:[query items]];

tempArray 就是我们所需要的列表

2、歌曲的播放

(1)、通过MPMusicPlayerController 播放

MPMediaQuery *query = [MPMediaQuery playlistsQuery];//初始话类型 枚举playlistsQuery

NSArray *tempArray = [[NSArray alloc] initWithArray:[query items]];

_mediaCollection = [[MPMediaItemCollection alloc]initWithItems:tempArray];

[_mediaCollection retain];

 

_player = [MPMusicPlayerController applicationMusicPlayer]; //初始化播放器;

[_player setQueueWithItemCollection:_mediaCollection];

[_player setRepeatMode:MPMusicRepeatModeAll];

[musicPlayer.player setNowPlayingItem:[[musicPlayer.mediaCollectionitems]objectAtIndex:indexPath.row]];

        [musicPlayer play];

(2) AVPlayer

NSURL *url = [[[musicPlayer.mediaCollection items] objectAtIndex: indexPath.row]valueForProperty:MPMediaItemPropertyAssetURL];

AVPlayer *player = [[AVPlayer alloc] initWithURL:url];

[player play];

转载于:https://www.cnblogs.com/pengyingh/articles/2383510.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110463.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)

    FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24…)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法。swscale主要用于在2个AVFrame之间进行转换。下面来看一个视频解码的简单例子,这个程序完成了对”北京移动开发者大会茶歇视频2.flv”(其实就是优酷上的一个普通视频)的解码工作,并将解码后的数据保存为原始数据文件(例如YUV420,YUV422,RGB24等等)。其中略去了很多的代码。注:完整代码在文章:100

    2022年7月16日
    40
  • C++ overloading contructor[通俗易懂]

    C++ overloading contructor

    2022年1月23日
    41
  • Linux编程下open()函数的用法「建议收藏」

    Linux编程下open()函数的用法「建议收藏」Linux编程下open()函数的用法open(打开文件)相关函数:read,write,fcntl,close,link,stat,umask,unlink,fopen表头文件:#include#include#include定义函数:intopen(constchar*pathname,intflags);intope

    2022年5月25日
    97
  • Altium Designer 13 只能选中当前层元器件

    Altium Designer 13 只能选中当前层元器件今天打开一个ad工程,发现pcb只能选中当前层原件,其它层原件都不能选中。如图所示:这个问题以前都没遇到过,百度后发现是视图配置里面设置了。首先右键pcb文件如下图所示:然后会弹出下面的窗口:在单层模式的位置可以设置如何显示。如果需要取消这些设置 可以按下快捷键shift+s

    2022年7月15日
    41
  • SqlConnection.ConnectionString 属性

    SqlConnection.ConnectionString 属性ConnectionString类似于OLEDB连接字符串,但并不相同。与OLEDB或ADO不同,如果“PersistSecurityInfo”值设置为false(默认值),则返回的连接字符串与用户设置的ConnectionString相同但去除了安全信息。除非将“PersistSecurityInfo”设置为true,否则,SQLServer.NETF

    2022年7月12日
    34
  • 华为AAA认证详解

    华为AAA认证详解 AAA的基本构架 AAA通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于集中管理用户信息。如图1所示。 图1AAA的基本构架示意图  认证    不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。    本地认证:将用户信息配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降低成本,缺点是存储信息量受设备硬件条…

    2022年6月7日
    90

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号