[英]MPMusicPlayerController's setNowPlayingItem doesn't work in SWIFT
I am creating a music player to play the selected item when a user taps on the tableview cell using MPMusicPlayerController's setNowPlayingItem. 我正在创建一个音乐播放器,以便当用户使用MPMusicPlayerController的setNowPlayingItem轻击表格视图单元时播放选定的项目。 The following code works well in Objective C, But when I tried to convert this into swift it doesn't works.
以下代码在Objective C中效果很好,但是当我尝试将其转换为swift时不起作用。 Can anybody suggest what is the equivalent for the following code in SWIFT ?
有人可以建议SWIFT中以下代码的等效形式是什么吗?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MPMediaItem *song = self.songs[indexPath.row];
[self.musicPlayer setNowPlayingItem:song];
[self.musicPlayer play];
}
Found the solution 找到了解决方案
var mySongs = [MPMediaItemCollection]()
var songsQry = MPMediaQuery.songsQuery()
songsQry.groupingType = MPMediaGrouping.Title
mySongs = songsQry.collections as [MPMediaItemCollection]
var playQueue = MPMediaItemCollection(items: mySongs)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
var currentSong: MPMediaItem
currentSong = songs[indexPath.row].representativeItem
let musicPlayer = MPMusicPlayerController.systemMusicPlayer()
musicPlayer.setQueueWithItemCollection(playQueue)
musicPlayer.nowPlayingItem = currentSong
musicPlayer.play()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.