播放器字幕乱码乱码怎样办

今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 1147 | 回复: 21
最简单的音乐播放器乱码解决办法
财富值 129
交易信用 0
积分/帖子:138
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
来自:武汉
状态: 离线
最简单的音乐播放器乱码解决办法
论坛里有很多杂七杂八的解决乱码的方法。但大多很麻烦。我也是在试过很多办法后,抱着试一试的心态,在手机与电脑连接时,点同步,然后把所有歌曲剪切到电脑上,再剪切回N9原文件夹。
结果乱码一个都没有了。
不管你信不信,反正我成功了。
试一试这方法,不用扣你塞班币,没什么损失吧~
财富值 5760
交易信用 0
积分/帖子:5183
连续签到天数:2
全部签到天数:804
注册时间:
手机型号:
状态: 离线
*** 作者被禁止或删除 内容自动屏蔽 ***
财富值 129
交易信用 0
积分/帖子:138
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
来自:武汉
状态: 离线
回复 #2 fajqm 的帖子
连接到电脑上,手机会显示3个选项啊。1.充电。2.大容量。3.同步啊~
财富值 129
交易信用 0
积分/帖子:138
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
来自:武汉
状态: 离线
试过有用的话顶一下吧~让更多的朋友早日解脱啊
交易信用 0
积分/帖子:21
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
财富值 183
交易信用 0
积分/帖子:11
连续签到天数:1
全部签到天数:62
注册时间:
手机型号:
状态: 离线
确实好使,500首歌这样来回剪切,只有十几首日剧bgm的专辑名会显示问号,其他都没乱码
财富值 863
交易信用 0
积分/帖子:423
连续签到天数:1
全部签到天数:182
注册时间:
手机型号:
状态: 离线
自带播放器么?怎么显专辑图和歌词?
财富值 755
交易信用 0
积分/帖子:422
连续签到天数:1
全部签到天数:129
注册时间:
手机型号:
状态: 离线
mp3tag去掉ape标签就行
UID 7213683
交易信用 0
积分/帖子:131
连续签到天数:1
全部签到天数:7
注册时间:
手机型号:
状态: 离线
顶一个,其他的确实有点麻烦,也没试过
UID 1474653
财富值 5431
交易信用 0
积分/帖子:2124
连续签到天数:1
全部签到天数:353
注册时间:
手机型号:
N73 7370 N9
状态: 离线
多谢分享!这下简单了,之前我是用软件弄的,呵呵
财富值 122
交易信用 0
积分/帖子:107
连续签到天数:1
全部签到天数:5
注册时间:
手机型号:
状态: 离线
顶,谢谢楼主啦,真的不错,实用。[s:27]
财富值 163
交易信用 0
积分/帖子:281
连续签到天数:1
全部签到天数:13
注册时间:
手机型号:
来自:湖北
状态: 离线
财富值 3781
交易信用 0
积分/帖子:3143
连续签到天数:1
全部签到天数:482
注册时间:
手机型号:
C5→N9→9000→iPhone 6
状态: 离线
screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized= this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" />
UID 7171464
财富值 1269
交易信用 0
积分/帖子:363
连续签到天数:2
全部签到天数:376
注册时间:
手机型号:
状态: 离线
只下载iTunes Plus M4A,不会有乱码,嘿嘿。
交易信用 0
积分/帖子:23
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
有人试过了吗?能解决不???
微信扫一扫关注dospy1202人阅读
在开发中遇到这个问题,在网上搜了很多人的方法,没找到通过修改源代码解决乱码问题的比较具体的文章。研究了2天,找到了一个修改方法,可能不十分完善,但经过测试暂时还没再遇到乱码问题,所以分享一下。
改动步骤如下:
(Android版本:2.3, 文件路径:/frameworks/base/media/libmedia/MediaScannerClient.cpp)
1.MediaScannerClient类构造函数中本地编码初始值设为:kEncodingGBK
& & mLocaleEncoding(kEncodingGBK)
2.MediaScannerClient::endFile()函数中
加入下面的代码:
& && &&&// if the possible encoding is judged as an only one, use it instead of default(GBK).
& && &&&if(encoding == kEncodingShiftJIS || encoding == kEncodingGBK
& && && & || encoding == kEncodingBig5 || encoding == kEncodingEUCKR) {
& && && && &convertValues(encoding);
& && &&&} else
// add end }
& && &&&// if the locale encoding matches, then assume we have a native encoding.
& && &&&if (encoding & mLocaleEncoding)
& && && && &convertValues(mLocaleEncoding);
后面可以继续加入自己需要的逻辑,如把GBK的优先级设为高于ShiftJIS:
& && &&&else if ((encoding & kEncodingGBK) & 0 && (encoding & kEncodingShiftJIS) & 0)
& && && && &convertValues(kEncodingGBK);
这样就OK了。下面大概解释一下:
(路径:\frameworks\base\media\libstagefright\StagefrightMediaScanner.cpp)
StagefrightMediaScanner::processFile()是对扫描到的文件中的多媒体文件里的字串数据进行转换处理的过程:
1. client.setLocale(locale());
这个函数会根据手机设置的语言来设置mLocaleEncoding的值,mLocaleEncoding默认值是kEncodingNone,如果语言用户设置了英文,那么中文字串就会因为这个函数导致mLocaleEncoding的值没有变成kEncodingGBK,进而产生乱码。
2.从for循环中的client.addStringTag(kKeyMap.tag, value); 可以看到,只有mLocaleEncoding != kEncodingNone才会去对文件中读到的字串进行判断,然后如果不是ascii码才会压进client.beginFile();中创建的名值对(名:如&Aritist&,值:如&李宗盛&)的栈,否则直接调用handleStringTag()扔给Client,结束处理。这就是需要进行改动1的原因。
3.client.endFile();首先对栈里的所有的“值”字串的值进行区间判断,得到这些字串的可能编码,并取“与”,就是不断缩小可能编码范围:
encoding &= possibleEncodings(mValues-&getEntry(i));
然后判断如果得到的可能编码范围中有mLocaleEncoding的,就以mLocaleEncoding为栈中所有“值”字串的编码进行转换:
if (encoding & mLocaleEncoding)
& & convertValues(mLocaleEncoding);
这对于有中文的字串没有问题,但如果是日文歌曲并且文件里面的字串是纯日文编码(ShiftJIS)的,那还是乱码,因为没有执行convertValues()进行转换。所以加入了改动2,也就是如果分析得到的可能编码只有一种,则选择这种编码。
对于其它的可能情况,比如字串的可能编码判断出不只一种,而且其中没有mLocaleEncoding的,没有进一步处理,所以逻辑上还是有一定漏洞的,大家可以自己根据需要修改。
转载请注明出处,谢谢!
Android自带播放器字符串显示乱码问题的一个解决方法[原创]
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:361654次
积分:3882
积分:3882
排名:第6390名
原创:37篇
转载:135篇
评论:29条
(1)(1)(2)(1)(4)(5)(1)(1)(2)(7)(14)(3)(10)(11)(5)(13)(13)(10)(16)(11)(17)(5)(10)(10)(1)

参考资料

 

随机推荐