如何将歌曲从iphone音乐库导入我的应用程序

时间:2016-01-27 05:11:57

标签: ios objective-c

我正在开发一个音乐应用,我需要将iPhone音乐库中的歌曲复制到我应用的文档目录中。我需要Objective-C代码或框架(如果有的话)从音乐应用程序中选择多首歌曲并保存到我的应用程序。我有搜索stackoverflow但无法找到完整的解决方案。

4 个答案:

答案 0 :(得分:2)

请参阅以下链接..

您可以使用 MPMediaPickerController

访问iTunes中的媒体文件
MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = YES; // this is the default   
[self presentModalViewController:mediaPicker animated:YES];

以下链接就是您所需要的。

http://iphoneghostrider.blogspot.in/2014/05/import-music-and-save-it-to-document.html

以下链接用于将媒体文件导入文档目录

Application crashed while importing songs from Ipod library in Iphone for iOs 5.0

以下链接是Apple提供的样本

https://developer.apple.com/library/ios/samplecode/AddMusic/Introduction/Intro.html

希望它可以帮助你......!

答案 1 :(得分:1)

基于Vidhyanand答案的Swift 4版本:

let pickerController = MPMediaPickerController(mediaTypes: .music)
pickerController.delegate = self
present(pickerController, animated: true)

另外,请务必在Info.plist中添加以下使用说明,否则将不会显示选择器:

<key>NSAppleMusicUsageDescription</key> 
<string>Usage description</string>

答案 2 :(得分:0)

您需要Media Player框架:

MPMediaLibrary,MPMediaQuery等

MPMediaQuery *everything = [[MPMediaQuery alloc] init];

NSLog(@"Logging items from a generic query...");
NSArray *itemsFromGenericQuery = [everything items];
for (MPMediaItem *song in itemsFromGenericQuery) {
    NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle];
    NSLog (@"%@", songTitle);
}

(OR)

试试此链接

http://code.tutsplus.com/tutorials/ios-sdk-music-library-access--mobile-6188

答案 3 :(得分:-3)

打开Xcode并选择“创建一个新的Xcode项目”。选择“基于视图的应用程序”,然后单击“下一步”。输入项目名称(我称之为“音乐”),输入您的公司标识符,确保选择iPhone作为设备系列,然后单击“下一步”。选择保存项目的位置,然后单击“创建”。

第2步:导入MediaPlayer框架 在Xcode 4的导航区域中,选择项目名称(在我们的例子中为“Music”)。接下来,选择当前目标(此处再次显示“Music”),然后选择“Build Phases”选项卡。展开“Link Binary With Libraries”选项,然后单击“+”按钮添加新框架。在搜索框中键入“MediaPlayer”,然后选择列表中显示的MediaPlayer.framework选项。单击“添加”以在项目的链接阶段包含此框架。现在您已将媒体播放器框架添加到项目中,您需要将该框架导入将使用iPod的视图控制器中 图书馆。转到MusicViewController.h文件并在UIKit下面插入以下代码行第3步:导入项目图像 下载源代码并将图像映射拖到项目中。确保选中“将项目复制到目标组的文件夹(如果需要)”复选框。此地图包含我们将在此应用中使用的图片。

第4步:设计界面 在“Project Navigator”的“Music”文件夹中,单击MusicViewController.xib。

将UIImageView从库拖到视图中。确保显示实用程序窗口并转到Size Inspector。将宽度和高度都设置为200,将x坐标设置为60,将y坐标设置为20.此图像视图将显示歌曲图稿。

现在将UISlider拖动到视图中,并使用蓝色引导线将其排列到视图的底部。也使它更宽一些,因此它使用两个蓝色指南之间的整个视图宽度。我们将使用此滑块调整音量。

现在将4个UIButtons拖到视图中。拖动图像视图下的第一个,并将其标题设置为“显示媒体选择器”。这个将完成文本所说的内容。其他三个按钮将是控制按钮。选择其他三个按钮,然后转到“属性”检查器。将类型设置为自定义,并将按钮的图像分别设置为PreviousButton.png,PlayButton.png和NextButton.png。安排如下按钮。

最后,将三个UILabel拖到视图中。删除所有标签的文本并按如下方式排列(我添加了一些文字,因此您可以看到标签的位置。您不需要添加此文本)。这些标签将显示有关当前播放歌曲的一些信息。

步骤5:进行IB连接 现在我们已经设计了接口,我们可以建立连接。单击编辑器的中间按钮以显示助理编辑器。

单击图像视图并按住CTRL键拖动到界面。弹出窗口将显示。输入文本“artworkImageView”作为名称,然后单击“连接”。

现在单击滑块并以相同方式连接它,但将其命名为“volumeSlider”。 CTRL-再次从滑块拖动到界面,但这次是在花括号下。将连接设置为Action而不是Outlet。输入“volumeChanged”作为名称,并确保该事件为Value Changed,然后单击“connect”。

这4个按钮也需要动作。以与滑块动作连接相同的方式连接它们。按如下方式命名操作:

显示媒体选择器按钮:showMediaPicker 上一个按钮:previousSong 播放按钮:playPause 下一步按钮:nextSong 播放按钮也需要一个插座。以连接图像视图的插座的方式连接它,但将其命名为“playPauseButton”。

最后我们需要为标签创建出口。再次连接它们的方式与连接图像视图插座的方式相同。将第一个标签命名为“titleLabel”,将第二个标签命名为“artistLabel”,将最后一个标签命名为“albumLabel”。