mf2009

مشکل با پخش فایل صوتی از sd کارت

4 ارسال در این موضوع قرار دارد

سلام دوستان من تازه تو این سایت عضو شدم الان چند وقتی دارم روی یک برنامه کار میکنم الان به یه مشکلی خوردم 

مشکلم :من در این قسمت کارم میخام یه activity داشتم باشم با این خصوصیات 

[shcode=java]

<?xml version="1.0" encoding="utf-8"?>

    android:layout_width="match_parent"

    android:layout_height="match_parent" 

    android:background="@drawable/voice">

   

        android:id="@+id/startBtn"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_marginTop="114dp"

        android:background="@drawable/back8"

        android:text="@string/d2"

        android:textColor="#FFFFFF" />

   

        android:id="@+id/play1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_below="@+id/startBtn"

        android:layout_marginTop="26dp"

        android:background="@drawable/back8"

        android:text="@string/listfile"

        android:textColor="#FFFFFF" />

   

        android:id="@+id/listOfFiles"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="" 

       android:textColor="#FFFFFF"

       android:textSize="20dp" />

   

        android:id="@+id/m1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:layout_marginTop="54dp"

         android:background="@drawable/back8"

        android:text="@string/p1" 

        android:textColor="#FFFFFF"

        />

[/shcode]

خوب در اینجا من سه تا دکمه دارم دکمه اول و دوم رو مشکلی ندارم ولی با دکمه سوم (دکمه play1) مشکل دارم 

در دکمه اول میخام یک فایل رو از پوشه raw پخش کنه که مشکلی نیست 

در دکمه دوم میخام یه فایل رو از url دانلود کنه که اونم مشکلی نیست 

ولی در دکمه سوم من میخام اون فایلی رو که با دکمه دوم دانلود کردم رو بتون پخش کنم . خواش میکنم راهنماییم کنید اینم کد جاوام 

import java.io.BufferedInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.net.URLConnection;import android.annotation.SuppressLint;import android.app.Activity;import android.app.Dialog;import android.app.ProgressDialog;import android.content.Context;import android.content.Intent;import android.media.AudioManager;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.media.SoundPool;import android.os.AsyncTask;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class voice1 extends Activity {   public static final int DIALOG_DOWNLOAD_PROGRESS = 0;   private Button startBtn,m1,play1;   TextView listOfFiles;   MediaPlayer mp;   int mSoundId;   int mStreamId = 0;   private ProgressDialog mProgressDialog;private String url;private String fileName;   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.voice1);اینجا اون فایلی رو که دانلود کردم رو تعریف کردم        mp = new MediaPlayer();       try {url = Environment.getExternalStorageDirectory().getAbsolutePath();       fileName = "/5.mp3";		mp.setDataSource(url+fileName);       	mp.prepare();       	mp.start();       	mp.setOnCompletionListener(new OnCompletionListener() {                   public void onCompletion(MediaPlayer mp) {                       stopSound();                   }				private void stopSound() {					// TODO Auto-generated method stub				}               });           }           catch (IllegalArgumentException e) {               e.printStackTrace();           } catch (IllegalStateException e) {               e.printStackTrace();           } catch (IOException e) {               e.printStackTrace();           }اینم دکمه ای که باهاش فایل رو دانلود میکنم و مشکلی نداره                startBtn = (Button)findViewById(R.id.startBtn);       startBtn.setOnClickListener(new OnClickListener(){           public void onClick(View v) {               startDownload();           }       });   }public Button getPlay1() {	return play1;}public void setPlay1(Button play1) {	this.play1 = play1;}private void startDownload() {       String url = "http://dl.pop-music.ir/music/Bahman92/Ali%20Ashabi%20-%20Sokoote%20Motlagh.mp3";       new DownloadFileAsync().execute(url);   }   @Override   protected Dialog onCreateDialog(int id) {       switch (id) {	case DIALOG_DOWNLOAD_PROGRESS:		mProgressDialog = new ProgressDialog(this);		mProgressDialog.setMessage("Downloading file..");		mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);		mProgressDialog.setCancelable(false);		mProgressDialog.show();		return mProgressDialog;	default:		return null;       }   }@SuppressLint("ParserError")class DownloadFileAsync extends AsyncTask {@Overrideprotected void onPreExecute() {	super.onPreExecute();	showDialog(DIALOG_DOWNLOAD_PROGRESS);}@Overrideprotected String doInBackground(String... aurl) {	int count;try {URL url = new URL(aurl[0]);URLConnection conexion = url.openConnection();conexion.connect();int lenghtOfFile = conexion.getContentLength();Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);InputStream input = new BufferedInputStream(url.openStream());OutputStream output = new FileOutputStream("/mnt/sdcard/5.mp3");byte data[] = new byte[1024];long total = 0;	while ((count = input.read(data)) != -1) {		total += count;		publishProgress(""+(int)((total*100)/lenghtOfFile));		output.write(data, 0, count);	}	output.flush();	output.close();	input.close();} catch (Exception e) {}return null;}protected void onProgressUpdate(String... progress) {	 Log.d("ANDRO_ASYNC",progress[0]);	 mProgressDialog.setProgress(Integer.parseInt(progress[0]));مشکل من با این دکمس نمیدونم چرا کار نمیکنه 		 	 Button play1=(Button)findViewById(R.id.play1);		play1.setOnClickListener(new OnClickListener() 	     {   public void onClick(View v) 	         {   	     	mp.start();	     }	 });        }    }}

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Error Log چه خطایی رو بهتون نمایش میدهد که فایل را پلی نمیکند و اینکه فرمت فایل مورد نظر چیست؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Error Log چه خطایی رو بهتون نمایش میدهد که فایل را پلی نمیکند و اینکه فرمت فایل مورد نظر چیست؟

هیچ  خطای نمیده فقط کاری هم وقتی روی دکمه کلیک میکنیم نمیکنه :huh:

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

درسته شاید برنامه Crash نکنه ولی در log صد در صد یک ارور دارید مثلا نوشته MEdia Player error ..

بنظرم اخطار مربوط به این میباشد که شی MediaPlayer درست ساخته نشده است.

[shcode=java]

MediaPlayer player = new MediaPlayer();

player.reset();

player.setDataSource("sdcard/stream.Mp3");

player.prepare();

player.start();

[/shcode]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری