android media player 不播放来自具有空格或特殊字符的 url 的音频文件

标签 android

我正在尝试为音频文件制作媒体播放器。

当我播放一个有空格或特殊字符的文件时

[str=**http://192.168.1.214/MusicApplication/Songs/Baek Chan & Joo Hee of 8eight.mp3**;]

使用

    mediaPlayer=new MediaPlayer();
    mediaPlayer.setDataSource(str);
    mediaPlayer.prepare();

媒体播放器不播放文件。

如果我使用这种类型的 url:- str=**http://192.168.1.214/MusicApplication/Songs/Baek.mp3**;

它正常工作。请告诉我应该如何解决此类问题。

提前谢谢你。

最佳答案

使用URLEncoder.encode 方法参见this 所以每个特殊字符都被转换为以“%”为前缀的十六进制值。例如:'#' -> %23。

像这样

mediaPlayer.setDataSource(URLEncoder.encode(str,"UTF-8"));

关于android media player 不播放来自具有空格或特殊字符的 url 的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7403128/

相关文章:

android - 从主应用程序向 android 库应用程序提供输入

java - 根据要排序的数组中提供的值对 2D 数组的第一个元素进行排序

java - 如何更改 Android Dev 的 HelloFormStuff 中 RadioGroup 小部件的显示顺序?

java - Google Play 服务上的广告声明在 APK 中显示 Admob

android - 应用在Nexus 10上崩溃,但在Galaxy Tab 3上却没有崩溃

java - 登录表单: Keyboard hides on button click,,但点击edittext后不再显示

android - 当包含可绘制对象的整数变量传递给 painterResource 函数时,为什么图像不在 Android Studio 中呈现?

android - 如何在运行时更改按钮形状样式?

android - 如何获取Word/Excel文档的页数/页数?

javascript - 什么是 "native",什么不在 React Native 项目中?