我正在尝试使用媒体播放器类播放MP3。当我硬编码的MP3资源它的工作原理,但我希望资源来自一个字符串,而不是直接访问它像R.raw.mp3name
。将字符串转换为资源Uri进行MP3播放
Bundle bundle = getIntent().getExtras();
String Choice= bundle.getString("bundledChoice");
Uri myUri = Uri.parse("R.raw." + Choice);
mPlayer = MediaPlayer.create(activity.this, myUri);
mPlayer.start();
如果我改变了倒数第二行以mPlayer = MediaPlayer.create(activity.this, R.raw.song)
它会工作,问题是从一个从包取得的字符串创建资源URI动态。
请指教。
我想“使用字符串如何引用资源@ R.raw ......” – brux 2012-01-12 13:08:05
资源在R.raw在它创建R类的编制提出把它是一个更好的方法资源的ID。 URI.parse()需要 符合RFC 2396的编码URI参数。 R.raw.song是这首歌的int ID。你可能想读这样的东西http://stackoverflow.com/questions/559902/android-how-can-i-convert-android-net-uri-object-to-java-net-uri-object并检查如何从File对象创建一个Uri。谢谢 – 2012-01-12 13:45:44
在这里http:// stackoverflow。com/questions/3004713/get-content-uri-from-file-path-in-android – 2012-01-12 14:00:35