美文网首页AVFoundation 拍片专用
乐听项目分析(播放列表中的歌曲)

乐听项目分析(播放列表中的歌曲)

作者: IceWall_Rin | 来源:发表于2016-11-25 00:49 被阅读3次

应用层调用播放器的方法例如点击列表播放:

1.首先取得当前的device 然后进行播放

LTDevice *device = [AppUtils getDeviceMonitor].getDeviceManager.getCurDevice;

if (device.player) {

if (self.playlist && startIndex < self.playlist.songs.count) {

[device.player playWithIndex:startIndex playlist:self.playlist];

}

}

播放歌曲的方法:

LTMediaPlayer中调用这个API播放;

1.- (void)playWithIndex:(NSInteger)index playlist:(LTPlaylist *)playlist

Kxmovie中调用下面这个API播放;

2.- (void)play:(LTSong *)song position:(CGFloat)position

这个API 根本上是根据Url ,所以内部要获取song的Url

 - (void)getCacheUrlWithSong:(LTSong *)song position:(CGFloat)position listener:(getCacheListener)listener;

本地的songUrl 是localUrl;

1.方法代码如下 主要根据不同情况做各种处理,但这些情况没有做具体说明;

- (void)playWithIndex:(NSInteger)index playlist:(LTPlaylist *)playlist {

if ([self ipIsValid] && playlist) {

//如果有手机正在播放,则需要提交到服务器

if (type == LOCAL && _playInfo.status == PLAYING && [_playInfo.progress longTimeValue] >= 5) {

[self subjectPlayInfo];

}

[self setPlaylist:[playlist copyObject]];

if (_playInfo.playlist && index >= 0 && index < [_playInfo.playlist.songs count]) {

_playInfo.index = index;

LTSong *song = [_playInfo.playlist.songs objectAtIndex:index];

if (song.from != FROM_LOCAL) {

if ([AppUtils getNetType] == DISCONNECTED) {

_playInfo.status = STOPPED;

return;

}

if (type == BOX && _playInfo.isOutdoorMode) {

[[LTOutdoorPlayHelper sharedInstance] buildServerPlaylist:_playInfo.playlist];

}

} else {

//如果是本地推送,则需要更换当前的歌曲列表

if (type == BOX) {

[[AppUtils getLocalMusicManager] changeSvrTracklist:_playInfo.playlist.songs listener:^(LTResult *result) {

_playInfo.pid = _playInfo.playlist.pid = [[AppUtils getLocalMusicManager] getSvrPlaylistId];

[self play:song playlistId:_playInfo.playlist.pid seek:@"00:00" index:0];

}];

return;

}

}

[self play:song playlistId:_playInfo.playlist.pid seek:@"00:00" index:index];

}

相关文章

  • 乐听项目分析(播放列表中的歌曲)

    应用层调用播放器的方法例如点击列表播放: 1.首先取得当前的device 然后进行播放 LTDevice *dev...

  • Smartisan OS 产品建议(2)——音乐

    1:关于播放列表 可能完善的功能: 1.1:播放列表中的歌曲为什么可以无限重复添加? 1.2:歌曲如果正在播放中,...

  • 使用AVAudioPlayer实现本地音乐播放器

    功能概览: 播放/暂停/停止 上一曲/下一曲/点击列表中的歌曲名称播放对应歌曲 显示播放列表/显示正在播放的歌曲名...

  • 从 QQ音乐转移到 Apple Music

    从 QQ音乐转移到 Apple Music 将您所有的播放列表、歌曲和喜欢的专辑从 QQ音乐 移动到 Apple ...

  • 每日设计 | QQ音乐 歌曲定位

    在QQ音乐榜单、曲目列表中,当对歌曲列表进行滑动时,在页面右小角会出现一个定位标(小圆点),点击定位标播放列表会锚...

  • 你好呀,那些过去的时光

    跟很多人都一样,我是从那首专治吹牛逼的老中医认识她的,起初只是因为歌词听的好玩,所以在播放列表里有了这么一首歌曲 ...

  • Music Sudio - 全能音乐编辑转换工具

    Music Sudio 是多功能音乐管理、编辑工具,它不仅能帮你转换音乐格式、抓取音乐、制作播放列表或者编辑歌曲信...

  • 乐高项目分析

    取消订单 首先根据订单id找到订单,第一判断是否有该订单,或者订单与本人对不上号,根据订单获取订单槽位置编码,重新...

  • FL Studio教程之Audio Clip插件简介

    音频剪辑是采样器通道的一个特殊版本。音频剪辑的目的是保存在播放列表中显示和触发的示例,在播放列表中可以按要求将它们...

  • 三叠情歌魂飞天

    唐宋以前歌曲,由于记谱法不够发达,许多知名的歌曲已经难知其真象。比如孔子在齐国听《韶》乐,三月不知肉味。嵇康临刑时...

网友评论

    本文标题:乐听项目分析(播放列表中的歌曲)

    本文链接:https://www.haomeiwen.com/subject/cdxipttx.html