我想录制流媒体广播
现在这是我的代码
press.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
String filename = Environment.getExternalStorageDirectory().getAbsolutePath();
filename += "/music.mp3";
outputSource= new File(filename);
bytesRead = -1;
URL url;
try {
url = new URL("** URL **");
inputStream = url.openStream();
Log.d(LOG_TAG, "url.openStream()");
fileOutputStream = new FileOutputStream(outputSource);
Log.d(LOG_TAG, "FileOutputStream: " + outputSource);
while ((c = inputStream.read()) != -1) {
fileOutputStream.write(c);
bytesRead++;
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
当我点击按钮时它会连续运行并且无法停止,当我点击停止按钮时它告诉我程序没有响应我必须等待或退出
那么我单击录制按钮时如何开始录制并在单击停止按钮时停止录制?
答案 0 :(得分:0)
您在UI线程上执行网络操作。这不仅是错误的,这将抛出NetworkOnMainThreadException
使用AsyncTask或创建新的Thread,它将在取消时终止。