رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

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

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

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

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

برای پخش موزیک بهتره با 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 تست کردم بدون هیچ مشکلی کار کرد ! 

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

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

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();       }   });
لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...