为什么修改了批量修改文件名称称,但是他的属性还是m4a

使用沙盒里或下载音乐自定义通知声音(以及APP间文件共享和访问ipod音乐库) - 简书
使用沙盒里或下载音乐自定义通知声音(以及APP间文件共享和访问ipod音乐库)
三部分内容:
从其他设备导入音频文件
把音频剪切成30s以及通知指定的格式
设定成通知的声音
关键的第3步
iOS没法使用类似系统闹钟,要实现类似效果只能通过本地通知来模拟。本地通知有个soundName属性,用来指定通知触发时的声音。
系统有默认声音,但如果要使用自定义的音乐,看下soundName属性的文档说明:
For this property, specify the filename (including extension) of a sound resource in the app’s main bundle or UILocalNotificationDefaultSoundName to request the default system sound.
这一段其实是个坑,这里只说了声音资源放在app’s main bundle里,main bundle是啥?就是xxx.app文件的这个目录,APP自身代码是没有访问权限的,里面的文件是在APP打包的时候一起打进去的。
这就难办了,如果想从后台下载音乐来设成通知呢?从电脑传文件进来呢?
最后看到了知乎上关于网易云音乐的“音乐闹钟”的一个问题:,看到文档里有写只要放到/Library/Sounds目录下就可以。试了是对的。
然后,soundName只需要提供文件名(包括扩展名)就可以了,跟在main bundle里一样。
两种方法:1、使用iPhone自带的音乐APP里的歌
2、使用airDrop共享或者其他APP分享
访问ipod音乐库
let mediaquery = MPMediaQuery()
MPMusicPlayerControllerNowPlayingItemDidChangeNotification
if let musics = mediaquery.items {
for music in musics {
let title = music.valueForProperty(MPMediaItemPropertyTitle) as? String
if let url = music.assetURL {
saveNotificationSound(url,name: title,isLast: music == musics.last)
很简单啊,music标量类型为MPMediaItem,关键是assetURL属性,有这个东西,就可以拿到音频文件了。对于Apple music下载的音乐或者在iCloud上的音乐,这个值为nil.
使用文件共享
效果就是,在其他APP里点击分享按钮(如QQ里的在其他应用里打开)后,弹出一系列APP,怎么让你的APP在里面?
在info.plist文件配置Document types字段,在里面设置可接受的类型,我的配置:
&key&CFBundleDocumentTypes&/key&
&key&CFBundleTypeName&/key&
&string&audio&/string&
&key&LSHandlerRank&/key&
&string&Owner&/string&
&key&LSItemContentTypes&/key&
&string&public.audio&/string&
配置截图示例
LSItemContentTypes字段对应的是文件类型的UTI(Uniform Type Identifier
),UTI有一套完整的规范,参考Apple文档
这里public.audio可以接受mp3,其他的没试过。
当其他APP或airDrop传递完成,选择你的APP打开后,会调用到APPDeleagte的func application(application: UIApplication, handleOpenURL url: NSURL) -& Bool方法,这里的url就是传递的资源的地址,只需要判断一下类型,我暂时是按结尾为mp3来判断。是需要的音频,就可以处理。
因为通知有限制:1、时长不大于30s 2、格式限定,实测caf m4a可以。这里使用m4a,因为我剪切的方法就能转这个类型。
剪切音乐的指定区间,并转成m4a格式,然后存储
- parameter audioPath:
源文件地址
- parameter startTime:
剪切开始时间
- parameter endTime:
剪切结束时间
- parameter saveDirect: 存储地址全名
- parameter handler:
处理结果回调
func cutoffAudio(audioPath: NSURL, startTime: Int64, endTime: Int64, saveDirect:NSURL, handler: (succeed: Bool) -& Void){
let audioAsset = AVURLAsset(URL: audioPath, options: nil)
if let exportSession = AVAssetExportSession(asset: audioAsset, presetName: AVAssetExportPresetAppleM4A){
let startTime = CMTimeMake(startTime, 1)
let stopTime = CMTimeMake(endTime, 1)
exportSession.outputURL = saveDirect
//输出就是m4a
exportSession.outputFileType = AVFileTypeAppleM4A
exportSession.timeRange = CMTimeRangeFromTimeToTime(startTime, stopTime)
exportSession.exportAsynchronouslyWithCompletionHandler({
handler(succeed: exportSession.status == .Completed)
稍微封装了下
写了几个类,包括demo一起放在这个项目里。
1、处理音频主要使用类TFCustomNotificationSoundProcessor,它负责把ipod音乐库的音乐拷贝过来,也负责处理从其他设备共享过来的音频文件。
启动APP的时候,调用func loadSoundNames()方法,导入ipod音乐库音乐以及加载已经在声音资源目录(/Libraty/Sounds)下的音频。
然后把所有可用的声音的文件名提取出来,统一存放在soundNames属性里。
2、从其他设备接收资源,在handleURL方法里,使用tryHandleMusicURL处理就可以
3、因为加载音频本身是异步的,所以在加载完需要一个通知来提醒外界,做界面更新之类的。
dispatch_async(dispatch_get_main_queue(), {
NSNotificationCenter.defaultCenter().postNotificationName(TFLoadSoundNameCompletedNotification, object: nil)
注意使用这个通知来更新可用的声音。
4、注意info.plist文件里面要配置Document types,才能从其他设备或应用接收资源。
觉得ok,点个赞,github上stat下,3Q!
编程,画画,游戏
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
iTunes是由苹果公司开发的媒体播放器,媒体库,在线广播电台和移动设备管理应用程序。它用于播放,下载和组织数字下载音乐和视频(以及iTunes Store上可用的其他类型的媒体)在运行macOS和Microsoft Windows操作系统的个人计算机上。 iTunes S...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。 项目中的AES加解密主要用在网络请求过程中对上传的参数进行加密,对从后台服务器获取的...
合理的分配自己的时间是很重要的,有些时候我们同时忙着很多件事情结果到了最后一件都没有做好,所以不如给自己定一个目标,在半个小时之内我别的什么都不做,先做这个,休息一下,然后再去做其他的,以此类推,效果肯定比大包大揽会好太多。
昨天我的TA75同学组织了红安认捐同学的见面会,由于时间冲突没有赶过去和他们一起,心里有点失落落的,毕竟大家好容易聚在一起,上次去红安参与的同学比较少,好多同学都没见到,甚是想念,这次人还挺多的。不过,一切都是最好的安排,毕竟前天的工作也非常重要,前晚的聊天收获也非常大。 ...
目标 1.瘦到八十斤,走洛丽塔风。 2.微信公众号涨1000粉。 3.看完中国通史100集。 4.考证,有用的都考。 5.保持阅读写作和早起早睡的习惯。 6.假期做一次支教或者幼师。 7.参加红学会的研讨。 8.入党。 9.去一次秦皇岛。 10.摇滚不死。...
短歌行 东汉·曹操 对酒当歌,人生几何!譬如朝露,去日苦多。 慨当以慷,忧思难忘。何以解忧?唯有杜康。 青青子衿,悠悠我心。但为君故,沉吟至今。 呦呦鹿鸣,食野之苹。我有嘉宾,鼓瑟吹笙。 明明如月,何时可掇?忧从中来,不可断绝。 越陌度阡,枉用相存。契阔谈讌,心念旧恩。 月...修复无法修改U盘文件夹隐藏属性的方法
我的图书馆
修复无法修改U盘文件夹隐藏属性的方法
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 修复无法修改U盘文件夹隐藏属性的方法
&&&&&&&&&& U盘用的多了就容易感染病毒。
&&&&& 其中比较流行的一种病毒就是把U盘中文件夹全部隐藏,并且把文件夹属性选项中的隐藏选项锁定,无法手动更改显示状态。并且在U盘中自动生成与原文件夹名称和图标一致的病毒文件,欺骗你去点击!
&&&&& 这个病毒从最早开始流行U盘病毒的时候就有了,现在大多数的杀毒软件都可以很轻松的发现病毒,并把病毒文件干掉。但是隐藏的文件夹却还是无法显示。即使通过修改显示所有文件,可以看到这些隐藏的文件夹,也无法通过属性来转变文件夹的现实状态。
&&&&& 其实解决起来还简单,只需要用到DOS行中的ATTRIB命令
&&&&& 解决办法详细步骤:
第1步: 打开命令符:开始=&运行=&输入 cmd第2步:切换到U盘目录:输入 X: 回车 &(X为你优盘在你电脑上的盘符)第3步: 输入 attrib -s -h *.* /s /d (注意中间的空格)回车第4步:等待,OK!(时间长度取决于你U盘中文件和文件夹的多少 )
看下面的图,我的优盘是J盘。嗯,我电脑上的盘分的的确很多。
知道如何修复文件夹隐藏属性,并显示隐藏文件夹了。当然应该知道为什么了。这叫知其然,知其所以然!
原理:attrib 命令attrib 命令作用是在DOS命令行下显示或更改文件属性
TTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
&&&&&&&& 参数说明:+ 设置属性。- 清除属性。R 只读文件属性。A 存档文件属性。S 系统文件属性。H 隐藏文件属性。/S 处理当前文件夹及其子文件夹中的匹配文件。/D 也处理文件夹。
所以,&attrib -s -h *.* /s /d 的意思就是:把当前目录下所有文件*.*,包括文件夹/D ,修改系统文件属性去掉隐藏属性-s -h。
&&&&&&&&& YaYa告诉了我一个更简单的办法:新建一个文件夹,把隐藏的文件夹中的东西拷贝到新建文件夹中,然后删除被隐藏的原文件夹,最后重新命名新建文件夹。OK啦。
&&&&&&&& 嗯。这个办法真的很不错!简单实用而且不需要用到什么命令。佩服,佩服!
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢如何改变一个文件的属性?为什么有的时候改变了文件的名称就改变了文件的属性,而有的时候又不?
为什么有的时候改变了文件的打开方式就改变了文件的属性,而有的时候又不是??
文件的属性是在哪里设置的?比如如果我要把一个记事本文件的属性改为web文件,可以怎么做?
我的电脑→工具→文件夹选项→查看中
如图片中隐藏已知文件类型的扩展名的勾取就能看扩展名.用"重命名"的方式可以看到隐藏的扩展名了.直接用"重命名"中改文件属性如:XXX.TXT改为XXX.wed
其他答案(共1个回答)
文件类型],都可以......
先选择你要设置的文件,单击鼠标右键,选“属性”,在“常规”的“属性”栏找到“隐藏”,打“√”即可将隐藏。
打开菜单栏的“工具→文件夹选项”,选“查看”选项卡,在...
请将另外一个显示器关闭即可。
桌面空白处,鼠标右键=》属性=》设置=》在第二显示器上点一下=》将“将桌面扩展到该显示器上”前面的勾去掉=》确定 即可
这是因为如图所示的地方打上了勾,相同文件都会改变!还原的方法是重新改变这类文件的打开方式!
答: 除了网上下载,还可以在你观看视频的机子C盘上读出来。
具体操作:完整看完视频后,打开“我的电脑”,右键C盘“属性”做“磁盘清理”,选“临时文件”点下面“查看文...
答: 是接入技术要解决的问题是如何将用户连接到各种网络上。作为网络中与用户相连的最后一段线路上所采用的技术,接入技术已成为目前网络技术的一大热点
答: 正常,无线都这样
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415苹果手机设置铃声怎么设置,M4A改成M4R很难改_百度知道
苹果手机设置铃声怎么设置,M4A改成M4R很难改
我有更好的答案
这个很简单啊,你去把文件夹的属性改成显示后缀文件名,这样就可以看到m4a格式的文件,双击更改名称,把a改成r再回车一下就可以了,很容易改的啊!
为您推荐:
其他类似问题
您可能关注的内容
m4a的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。我明明用格式工厂把m4a的格式改成mp3了,但是为什么手机上还是m4a的格式_百度知道
我明明用格式工厂把m4a的格式改成mp3了,但是为什么手机上还是m4a的格式
我有更好的答案
①可能忘记修改文件后缀名为.mp3。②可能搞错了源文件与转换格式后的文件。③可能只修改了文件属性而没有进行真正的编码格式转换过程。PS1:.m4a只是一种文件封装格式,内在编码方式貌似水果公司DIY的aac编码方式。PS2:部分软件上m4a转mp3不手动选择编码方式、码率等参数时可能会只改后缀不转编码。
PS3:格式转换一般过程为:a.选择原始文件。(有的文件格式或文件名可能不支持)b.设置转换参数。(封装格式、编码格式、码率帧率分辨率、新文件名、保存路径等)c.等待转换完成。
EX:楼主转换过程操作没有问题的话,很需要在手机播放器里刷新歌曲菜单列表。
采纳率:69%
后缀名再换下试试
为您推荐:
其他类似问题
格式工厂的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 linux 修改文件名称 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信