安桌铃声的循环播放不是系统决定的,而是在铃声文件上面做了
ANDROID_LOOP的标记,而
ringtones文件夹里面的铃声文件一般都有
ANDROID_LOOP的标记,所以不适合直接拿来当短信铃声,需要用千千静听删除其带的
ANDROID_LOOP标记,
做如下处理选择铃声文件右键–文件属性–高级–删除掉
ANDROID_LOOP true 的字段。
同样
如果想用作来电铃声,而文件本身时长又不足1分钟,就需要到这里来加上
ANDROID_LOOP true的字段
预置用千千静听修改后的 Ring_Synth_02.ogg 文件之后报错
09-09 15:48:05.716 2750 2843 D ModernMediaScanner: scanItemAudio begin -> file: /product/media/audio/ringtones/Ring_Synth_02.ogg mimeType: audio/ogg
09-09 15:48:05.747 339 390 D PowerHAL: ##Timing deboost
09-09 15:48:05.747 339 390 D PowerHAL: Enter common_subsys_set: enable:0, duration: 0, subsys:cpufreq:
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: Ignoring troubled file: /product/media/audio/ringtones/Ring_Synth_02.ogg
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: java.io.IOException: java.lang.RuntimeException: setDataSource failed: status = 0x80000000
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner.scanItemAudio(ModernMediaScanner.java:700)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner.scanItem(ModernMediaScanner.java:540)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner.access$500(ModernMediaScanner.java:121)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner$Scan.visitFile(ModernMediaScanner.java:431)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner$Scan.visitFile(ModernMediaScanner.java:226)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at java.nio.file.Files.walkFileTree(Files.java:2670)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at java.nio.file.Files.walkFileTree(Files.java:2742)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner$Scan.walkFileTree(ModernMediaScanner.java:286)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner$Scan.run(ModernMediaScanner.java:264)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner.scanDirectory(ModernMediaScanner.java:174)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.MediaService.onScanVolume(MediaService.java:156)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.MediaService.onScanVolume(MediaService.java:135)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.MediaService.onHandleIntent(MediaService.java:89)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:78)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at android.os.Handler.dispatchMessage(Handler.java:107)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at android.os.Looper.loop(Looper.java:214)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at android.os.HandlerThread.run(HandlerThread.java:67)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: Caused by: java.lang.RuntimeException: setDataSource failed: status = 0x80000000
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at android.media.MediaMetadataRetriever.setDataSource(Native Method)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:142)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: at com.android.providers.media.scan.ModernMediaScanner.scanItemAudio(ModernMediaScanner.java:665)
09-09 15:48:05.765 2750 2843 W ModernMediaScanner: ... 16 more
09-09 15:48:05.769 2750 2843 D ModernMediaScanner: processDrmFile -> file is not drm type
09-09 15:48:05.769 2750 2843 D ModernMediaScanner: scanItem -> mimeType: audio/ogg
09-09 15:48:05.769 2750 2843 D ModernMediaScanner: scanItemAudio begin -> file: /product/media/audio/ringtones/Ring_Synth_04.ogg mimeType: audio/ogg
09-09 15:48:05.823 2750 2843 D ModernMediaScanner: withOptionalValue -> key: title value:Flutey Phone
09-09 15:48:05.827 2750 2843 D ModernMediaScanner: withOptionalValue -> key: duration value:3683
09-09 15:48:05.837 2750 2843 D ModernMediaScanner: scanItemAudio end -> file: /product/media/audio/ringtones/Ring_Synth_04.ogg
应该是千千静听把 ogg 文件格式给破坏掉了,导致android系统识别不了
解决方法:
安装 audacity 来修改 ogg 文件中的 metadata 信息
ubuntu:
sudo add-apt-repository ppa:ubuntuhandbook1/audacity
sudo apt-get update
sudo apt-get install audacity
其他系统下可自行百度 audacity
改用 audacity 去修改 ogg 文件,用 audacity 文件打开需要修改的文件,Edit->metadata->Remove(ANDROID_LOOP)->save->File->Export->Export as OGG->choose path->Save->close