随笔 - 61  文章 - 0 评论 - 0 阅读 - 59348
< 2025年6月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

1:应用驱动学习

letvRecorder 录制的音频不希望在Music app中显示,Music app 通过查询mediaData 来查找设备中的音频。

通过判断字段 is_music = 0, 而通过

复制代码
     ContentValues cv = new ContentValues();
        long current = System.currentTimeMillis();
        long modDate = file.lastModified();
        cv.put(MediaStore.Audio.Media.IS_MUSIC, "0");
        cv.put(MediaStore.Audio.Media.TITLE, entry.getRecordName());
        cv.put(MediaStore.Audio.Media.DATA, file.getAbsolutePath());
        cv.put(MediaStore.Audio.Media.DATE_ADDED, (int) (current / 1000));
        cv.put(MediaStore.Audio.Media.DATE_MODIFIED, (int) (modDate / 1000));
        cv.put(MediaStore.Audio.Media.DURATION, entry.getRecordDuring());
        cv.put(MediaStore.Audio.Media.ARTIST,res.getString(R.string.audio_db_artist_name));
        cv.put(MediaStore.Audio.Media.ALBUM,res.getString(R.string.audio_db_album_name));
//        Log.d(TAG, "Inserting audio record: " + cv.toString());
        ContentResolver resolver = getContentResolver();
        Uri base = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
//        Log.d(TAG, "ContentURI: " + base);
复制代码
        Uri result = resolver.insert(base, cv);
//只能添加指定的字段信息
        sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE));
//系统获取媒体文件信息,然后保存到mediaData中
复制代码
    
好的处理方法是:
1:系统扫描,添加信息到mediaData
2: 回调方法作后续的处理
//
-->>>method 2 MediaScannerConnection.scanFile(context,new String[]{newFile.getAbsolutePath()},null,new MediaScannerConnection.OnScanCompletedListener(){ @Override public void onScanCompleted(String path, Uri uri) { if (uri!=null){ ContentValues cv = new ContentValues(); cv.put(MediaStore.Audio.Media.IS_MUSIC, "0"); context.getContentResolver().update(uri, cv, "is_music = ?", new String[]{"1"}); } } }); //<<<--method 2
复制代码

 

 

posted on 2015-03-05 14:27  梦想人生  阅读(218)  评论(0)    收藏  举报
编辑推荐:
· C# 代码如何影响 CPU 缓存速度?
· 智能桌面机器人:使用 .NET 为树莓派开发 Wifi 配网功能
· C# 模式匹配全解:原理、用法与易错点
· 记一次SSD性能瓶颈排查之路——寿命与性能之间的取舍
· 理解 .NET 结构体字段的内存布局
阅读排行:
· 【故障公告】6月9日 17:24~17:34 再次遭遇攻击(晚上遭遇更疯狂的攻击)
· .net入行第4年
· 3 个超火的开源项目「GitHub 热点速览」
· 上周热点回顾(6.2-6.8)
· [原创]《C#高级GDI+实战:从零开发一个流程图》第01章:有什么用、有什么效果?
点击右上角即可分享
微信分享提示