求助:自己写的安卓音乐播放器在模拟器里能显示mp3内嵌封面,在手机里却什么都不显示。

Thare_Lam 2013-05-24 02:34:13
设置封面代码:
try{
MainActivity.img_songcover.setImageDrawable(getpic(s));
PlayerMag.f_drawable=getpic(s);
}catch(Exception e){
MainActivity.img_songcover.setImageResource(R.raw.songcover);
PlayerMag.f_drawable=null;
}
if(getpic(s)==null){
MainActivity.img_songcover.setImageResource(R.raw.songcover);
PlayerMag.f_drawable=null;
}
模拟器运行情况:(不知道什么愿意,传不了图片,不过我描述的应该挺清楚的)
如果读取专辑图片异常或者为空就显示raw里面的图片。扫描的是相同的歌曲,在模拟器能正常显示出来,而且没有专辑的歌曲显示的是raw里的图片。在手机里却显示不出来,显示的是空白,没有专辑封面的能正常显示raw里的突然。我感觉可能是图片读取方式之类的手机和模拟器不一样,或者格式啥的不对,具体原因我也不太清楚。希望高手能帮我解答下。
...全文
1066 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Thare_Lam 2013-05-28
  • 打赏
  • 举报
回复
引用 4 楼 f839903061 的回复:
你调试一下,在手机里运行应用程序,获取的图片什么的是空吗,因为有些手机存储位置和模拟器不一样!并不是同一的 /mnt/sdcard/ /mnt/extsd/ 这两种情况都有可能
我是通过cursor访问内存卡数据库(媒体信息都保存在这里)然后设置的,现在还是这样,也就算了,东西也做完了,就结了吧
Thare_Lam 2013-05-24
  • 打赏
  • 举报
回复
木有人吗~ 来帮帮忙~
雨焰 2013-05-24
  • 打赏
  • 举报
回复
你调试一下,在手机里运行应用程序,获取的图片什么的是空吗,因为有些手机存储位置和模拟器不一样!并不是同一的 /mnt/sdcard/ /mnt/extsd/ 这两种情况都有可能
Thare_Lam 2013-05-24
  • 打赏
  • 举报
回复
我分别从能显示封面和不能显示封面的两首歌里提取出了他们的专辑图片,发现都是jpg格式的,也就是说应该和图片格式无关。唉,现在这个问题好困惑啊,求大神帮忙解决下
Thare_Lam 2013-05-24
  • 打赏
  • 举报
回复
修改了下代码,有点好了。现在的问题是有些歌曲的专辑封面能显示,有些不能显示。下面贴出获取专辑封面的方法 如果获取异常或者为空就设置为默认图片,大家帮忙看看哪里有问题。

//获取album_art
         private  String getAlbumArt(int album_id) {  
             String mUriAlbums = "content://media/external/audio/albums";  
             String[] projection = new String[] { "album_art" };  
             Cursor cur = getContentResolver().query(  
                     Uri.parse(mUriAlbums + "/" + Integer.toString(album_id)),  
                     projection, null, null, null);  
             String album_art = null;  
             if (cur.getCount() > 0 && cur.getColumnCount() > 0) {  
                 cur.moveToNext();  
                 album_art = cur.getString(0);  
             }  
             cur.close();  
             cur = null;  
             return album_art;  
         } 
        //获取专辑封面
         public Bitmap getpic(String file){
                 Cursor c =getCursorfromPath(file);  
                 int album_id = c.getInt(c.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID)) ; 
                Bitmap bm = null;  
                 String albumArt = getAlbumArt(album_id);    
            if (albumArt == null) {  
                     bm=null; 
            }else {  
                 bm = BitmapFactory.decodeFile(albumArt);    
                    }  
             return bm;  
         }
 
设置专辑封面
 try{
                         MainActivity.img_songcover.setImageBitmap(getpic(s));
                         PlayerMag.f_drawable=getpic(s);
                 }catch(Exception e){
                         MainActivity.img_songcover.setImageResource(R.raw.songcover);
                         PlayerMag.f_drawable=null;
                 }
                 if(getpic(s)==null){
                         MainActivity.img_songcover.setImageResource(R.raw.songcover);
                         PlayerMag.f_drawable=null;
                 }
内容概要:本文提出了一种基于概率调控的风光联合出力极端场景生成方法,旨在有效应对风能与太阳能发电固有的强不确定性问题。该方法融合概率统计理论与优化控制策略,通过对历史风光出力数据进行建模,采用概率分布调控技术生成具有高代表性的极端场景集,从而为电力系统在极端天气条件下的运行分析提供可靠的数据支撑。文中详细阐述了模型的构建原理、核心算法设计及完整的场景生成流程,并利用实际案例验证了所提方法在提升场景多样性和极端性方面的有效性与实用性,显著增强了电力系统在高比例可再生能源接入背景下的风险评估与决策能力。; 适合人群:具备一定电力系统基础知识和Python编程能力,从事新能源发电、电力系统规划与运行、不确定性建模、场景生成及风险评估等相关领域的研究人员和工程技术人员。; 使用场景及目标:①用于电力系统中风光出力不确定性建模与极端场景的高效模拟;②支撑含高比例可再生能源电网的可靠性评估、安全校核、调度优化与风险防控研究;③为电力系统规划、应急管理和极端事件应对提供科学依据和技术工具。; 阅读建议:建议读者结合文中提供的Python代码进行动手实践,深入理解概率调控机制与场景生成算法的实现细节,掌握参数调整对场景特性的影响规律,并可进一步将该方法拓展应用于其他不确定性电源或多能源耦合系统的场景分析中。

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧