對於初學者我是一個Android新手。我有一個android應用程序,將音頻記錄到原始文件中12秒,然後使用lame將其轉換爲最終文件「mezzo.mp3」。應用程序應該將文件上傳到服務器。但是,似乎代碼從不執行上傳部分。這是我的代碼。錄音和POST到服務器
MainActivity.java
class UploadFileTask extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... voids) {
String responseString = "";
try {
String url = "http://178.62.209.46:8000/api/tag/";
File track = new File(Environment.getExternalStorageDirectory(), "mezzo.mp3");
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
MultipartEntityBuilder reqEntity = MultipartEntityBuilder.create();
reqEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
//InputStream inputStream = new ;
reqEntity.addBinaryBody("track", track);
final HttpEntity myEntity = reqEntity.build();
httppost.setEntity(myEntity);
HttpResponse response = httpclient.execute(httppost);
//process response
responseString = new BasicResponseHandler().handleResponse(response);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return responseString;
}
protected void onPostExecute(String responseString){
Toast.makeText(getApplicationContext(), responseString, Toast.LENGTH_LONG).show();
}
}
,這裏是定時器和UploadFileTask調用:
Button startButton = (Button) findViewById(R.id.StartButton);
startButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mRecMicToMp3.start();
CountDownTimer countDowntimer = new CountDownTimer(12000, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
mRecMicToMp3.stop();
Toast.makeText(getApplicationContext(), "Stopped recording Automatically ", Toast.LENGTH_LONG).show();
}};countDowntimer.start();
}
});
new UploadFileTask().execute();
定時器運行好和 「停止錄製自動」 舉杯節目。但是,似乎new UploadFileTask().execute();
從未運行。
我在做什麼錯?
你的日誌顯示了什麼?你的清單中是否有互聯網許可?另外,你的意思是代碼永遠不會執行?哪部分停止工作? – erad 2014-10-06 11:21:37
'Toast.makeText(getApplicationContext(),「Stopped recording Automatically」,Toast.LENGTH_LONG).show();'。你看到烤麪包了嗎? ' – greenapps 2014-10-06 11:47:16
Toast在12秒後顯示,因爲它應該。 – Wedava 2014-10-07 23:13:20