objective-c - iOS 我想做一个在线音乐播放 并且可以带缓存功能 不知道思路是否正确
PHP中文网
PHP中文网 2017-04-17 17:16:30
[iOS讨论组]

如题 我是这么想的 首先我的UI会是一个tableview的列表 然后我会去搜索歌 一开始列表为空 此时从搜索去听歌 这时就是在线听歌 然后再缓存这首歌 下次即使没网也可以听上次那首歌
我的思路 我现在已经达到在线听歌的目的了
1、 我的想法是如果用户一进来点击列表的歌 我先去本地沙盒找有这首歌的缓存没有 如果有直接播放 没有就远程请求在线听歌
2、关于缓存歌曲 我想的是 用户一旦在线听完了这首歌 我就下载这首歌 并写入缓存

有几个疑惑
1、最重要的是 我这种思路是不是本来就错了 第一次做关于音频的
2、关于写入沙盒的路径 不知道写入哪儿 希望能在这儿得到答案
3、可以边听边下边写入缓存吗 这样能达到有一半歌是在缓存中一半是还没下载好的情况吗

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHPz

请问你用哪个类做的在线音乐播放
试下豆瓣的 DOUAudioStreamer

  1. 你想要实时在线听歌就肯定要用流处理,本来就是一边加载一边播放的

  2. 加载完会在缓存文件夹,然后移动到你想要放的文件夹内

  3. 做一个字典,用于保存歌曲的唯一标识符和本地地址,下次播放就先在本地寻找,没有才去网络加载

沙盒目录

  • Documents

    • 需要保存由"应用程序本身"产生的文件或者数据,例如:游戏进度、涂鸦软件的绘图

    • 目录中的文件会被自动保存在 iCloud

    • 注意:不要保存从网络上下载的文件,否则会无法上架!

  • Caches

    • 保存临时文件,"后续需要使用",例如:缓存图片,离线数据(地图数据)

    • 系统不会清理 cache 目录中的文件

    • 就要求程序开发时,"必须提供 cache 目录的清理解决方案"

  • tmp

    • 保存临时文件,"后续不需要使用"

    • tmp 目录中的文件,系统会自动清理

    • 重新启动手机,tmp 目录会被清空

    • 系统磁盘空间不足时,系统也会自动清理

  • Preferences

    • 用户偏好,使用 NSUserDefault 直接读写!

    • 如果要想数据及时写入磁盘,还需要调用一个同步方法

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号