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

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

سلام کسی در مورد اینکه باید فایل هایه موزیک رو داخل پوشه asset کپی کنیم و فقط ادرسشو به دیتابیس بدیم چیزی میدونه؟ من اصلا در درک خود این راه مشکل دارم ینی چی؟منظور از ادرس، ادرس چیه؟ و همینطور چجوری باید گف بیا مثلا ازین ادرس فلان موزیک تو پوشه asset رو پخش کن؟؟ لطفا واضح راهنمایی کنید و کامل ممنون میشم

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

در فولدر assets یک پوشه به هر نامی که دوست دارید مثلا musics درست کنید. دقت کنید که تمام حروف نام فولدر و فایل های داخلش باید با جروف کوچک باشه. بعد موزیک هاتون رو داخل این فولدر کپی کنید. حالا اگر فایلی به نام number1.mp3 در این فولدر کپی شده، آدرس اون به شکل musics/number1.mp3 در برنامه کامپایل شده شناخته میشه.

در مرحله بعدی باید یک Media Player در برنامه تون تعریف کنید. تعریفش به شکل زیر انجام میشه:

[shcode=java]

MediaPlayer m = new MediaPlayer();

[/shcode]

حالا ابتدا باید آدرس فایل های assets رو به مدیا پلیر بدید تا براتون پخش بشه. که به این صورت انجام میشه :

[shcode=java]

AssetFileDescriptor descriptor = this.getAssets().openFd("musics/number1.mp3");

m.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());

descriptor.close();

m.prepare();

//Baraye Tanzime Seda

m.setVolume(1f, 1f);

m.start();

[/shcode]

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

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

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

منظورم ریختن موزیک ها در پوشه asset  و دادن ادرسشون در دیتابیس هست

و باید با استفاده ازون ادرس از دیتابیس ادرسو بگیری و اهنگو پخش کنی

این روشو همه تو اینترنت پیشنهاد کردن ولی خوب توضیح ندادن که چجوریه

و من نه روششو میفهمم نه میدونم چجوری باید بنویسم

:huh::huh::huh:

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

ذوست عزیز برای پخش شدن موزیک بهترین راه کار همونیه ک psylent گفتند خوذمم برا برنامه هام همیشه از همون روش استفاده میکنم

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

توی همین سایت در مورد پایگاه داده چند بار بحث شده. در موردش جستجو کنید. الگوریتم به این صورته که شما یک پایگاه داده میسازید. داخلش جدولی برای موزیک هاتون میسازید. داخل جدول موزیک میتونید فیلد های نام موسیقی، نام هنرمند و ... به همراه آدرس درست کنید. داخل آدرس، آدرس موسیقی هارو به همون صورت که توضیح دادم وارد می کنید. هر کجا به پخش شدن موسیقی نیاز داشتید، میتونید یکی از رکورد های پایگاه داده رو استفاده کنید و آدرس رو از پایگاه داده استخراج کنید.

در ضمن در مورد سوال دوم که گفتید هر دفعه باید اون کد رو بنویسید جواب میتونه منفی باشد. در نوشته قبلی گفتم میتونید اون کد رو به صورت تابع تعریف کنید و آدرس رو به عنوان ورودی بهش بدید، و هر بار با فرا خوانی اون تابع، از موزیک پلیر استفاده کنید.

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

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

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

مثلا تو این کد اگر دوبار رودکمه کلیک بشه (مثلا اشتباهی دو بار رو دکمه زده بشه) برنامه قطع میشه مشکل چیه؟؟

[shcode=java]package com.exabmple.hgh;

import java.io.IOException;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.app.Activity;

import android.content.res.AssetFileDescriptor;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity {

   

    MediaPlayer m = new MediaPlayer();

    Button btn;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        btn=(Button)findViewById(R.id.button1);

        btn.setOnClickListener(new OnClickListener() {

           

            @Override

            public void onClick(View arg0) {

                music();

            }

        });

    }

   

    public void music(){

       

       

        try {

            AssetFileDescriptor descriptor = this.getAssets().openFd("music/aa.mp3");

            m.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());

            descriptor.close();

            m.prepare();

            m.setVolume(1f, 1f);

            m.start();

        } catch (IOException e) {

        }

       

    }

}

[/shcode]

لینک ارسال
به اشتراک گذاری در سایت های دیگر
  • 2 هفته بعد...
  • 1 ماه بعد...

سلام

یه سوال

وقتی یه آهنگی پخش شد، بعد از اتمام، پیام toast برای تمام شدن پخش آهنگ نمایش بدهد

چی کد لازم است؟ تا کاربر بفهمه زمان آهنگ تمام شده؟

می دونم که خود پخش اهنگ قطع میشه، ولی می خواهم موقع تمام شدن پخش آهنگ پیام toast نمایشد بدهد

باتشکر

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

باید از کد زیر استفاده کنی

new CountDownTimer(180000,1000){		    public void onTick(long millisUntilFinished){	}public void onFinish(){\\ کاری که می خوای بکنه}		}.start();

در توضیح کد بالا باید بگم که یک زمان سنج هست و در زمان تمام شدنش کاری انجام میشه

حالا تو باید بفهمی آهنگت چند ثانیه هست و به جای 180000 اول کد بزاری و سه تا صفر هم جلو اون

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

سلام

اینم مفید و کاربردیه

ولی مناسب نیست، من چند تا صوتی دارم، از طریق سیک بار نشون میده، وقتی سیک بار به آخر رسید، پیام اتمام پخش آهنگ بدهد

این کد ببنید،

در سک بار میشه کد پیام اتمام پخش اهنگ گذاشت، اما باید کجا گذاشت؟

[shcode=java]

final Handler seekHandler = new Handler();

imgPanelPlayOf.setOnClickListener(new OnClickListener() {

   

    @Override

    public void onClick(View v) {

        // TODO img Panel Play Ofline

   

            String PathSongq = "/sdcard/FolderSoong/soundoff.wav";

            mpa = MediaPlayer.create(SongListActivity.this,    Uri.parse(PathSongq));

            mpa.start();

           

            seek_bar.setMax(mpa.getDuration());

            seekUpdation();

          //  seksoong.setProgress(mpa.getCurrentPosition());

           

       

    }

   

    Runnable run = new Runnable() {

        @Override

        public void run() {

            seekUpdation();

        }

    };

    public void seekUpdation() {

       

           

            seek_bar.setProgress(mpa.getCurrentPosition());

            seekHandler.postDelayed(run,mpa.getCurrentPosition());

           

    }

});

[/shcode]

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

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

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

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

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

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

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

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

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

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