sajadpm

پخش آنلاین آهنگ

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

با سلام و خسته نباشید 

دوستان مشکلی برای من پیش اومده اینکه می خواهم در پروژه ام آهنگی رو پخش کنم ولی نه از داخل گوشی بلکه از لینک پخش بشود کلی گشتم چیزی پیدا نکردم ؟ ممنون می شوم کمک کنید !

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


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

خب برای اینکار بایستی صدا را استریم کنید.اینکار براحتی قابل انجام میباشد:

برای پخش موزیک بهتره با MediaPlayer کار کنید . سپس لینک خود را براساس پروتکل های استریم HTTP ، RTSP   ،UDP   میتوانید استریم را انجام دهید.

حالا در این مثال براساس Http یک موزیک را استریم میکنیم تا آهنگ مورد نظر استریم(پلی) شود.

 private MediaPlayer mp;_url="http://192.168.10.100/1.mp3";//////////////////////////////////////////////////////////////    mp = new MediaPlayer();                   try {            mp.setDataSource(_url);        } catch (IllegalArgumentException e) {            e.printStackTrace();        } catch (IllegalStateException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    mp.prepareAsync();        mp.setOnPreparedListener(new OnPreparedListener() {            public void onPrepared(MediaPlayer mp) {                mp.start();            }        });

آخرین کاری که لازم است این میباشد که در فایل مانیفست مجوز  زیر را اعمال کنید :

   

برای _url لطفا آدرس مورد نظر خود را جایگزین نمایید

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


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

برای اینکه لودینگ را هم به استریم اضافه کنید و کاربر متوجه شود اطلاعات در حال لود شده است میتوانید از این مثال نیز استفاده کنید :

http://www.coderzheaven.com/2012/08/14/stream-audio-android/

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


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

خیلی ممنون از شما آقا فرزاد . فقط 1 سوال برام پیش اومد : 1 - اینکه اینجا implements می گیره چیه ؟ میشه کمی درباره ی implements توضیح دهید : 

implements OnClickListener, OnPreparedListener, OnErrorListener, OnCompletionListener {

تشکر

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


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

خب متدهای Implemets وقتی مینویسید متدهای آن کاملا باید Overddie شوند چون جز کلاس های Interface جاوا میباشند.

این کلاس های بالا بهم بدین صورت کار میکنند.

OnPreparedListener 

برای پلی کردن فایل(صوتی یا تصویری).

OnErrorListener

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

OnErrorListener

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

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


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

تشکر فراوان . MediaPlayer برای از چه ورژن آندروید به بعد کار میکنه ؟ من با آندروید 2.3.3 تست کردم مشکل داشت ؟ آیا مشکل از کد من بوده یا از api خاصی به بعد اجرا میشه ؟ البته من در آندروید 4.0.3 تست کردم بدون هیچ مشکلی کار کرد ! 

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


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

نه از API 1 قابل استفاده هستش..لاگ رو ببنید که آیا اروری میده مثلا Mediaplayer(-38,0)

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


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

بله همین ارور رو میده :

07-25 21:13:23.581: E/MediaPlayer(282): Attempt to call getDuration without a valid mediaplayer07-25 21:13:23.581: E/MediaPlayer(282): error (-38, 0)07-25 21:13:23.591: E/MediaPlayer(282): start called in state 007-25 21:13:23.591: E/MediaPlayer(282): error (-38, 0)07-25 21:13:23.741: E/MediaPlayer(282): Error (-38,0)07-25 21:13:23.741: E/MediaPlayer(282): Error (-38,0)

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


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

آقا فرزاد من هنوز مشکلم حل نشده ره حلی ندارید

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


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

این ارور مربوط به آدرس اشتباه فایل میباشد که MediaPlayer نمیتواند آن را پلی کند.

بهتره برای پلی کردن از این متد استفاده کنید :

mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {       @Override       public void onPrepared(MediaPlayer mp) {           // TODO Auto-generated method stub           mp.start();       }   });

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


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

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

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

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

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


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

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

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


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