نمایش نتایج 1 تا 10 از 10

نام تاپیک: نگه داشتن و لمس دکمه های صدا دار

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    بندرعباس
    پست
    141

    نگه داشتن و لمس دکمه های صدا دار

    سلام من از این کد برای تکرار صدا تا زمان برداشتن انگشت و لمس دکمه بدون برداشتن انگشت و صدا دادن اونا استفاده کرده ام
    کد HTML:
    // Create a new button and place it into a table row
        LinearLayout lnr = (LinearLayout) findViewById(R.id.tableRow3);
        Button b1 = new Button(this);
        lnr.addView(b1);
    
        // Associate the event
        b1.setOnTouchListener(new OnTouchListener() {
            MediaPlayer mp = new MediaPlayer();
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch(event.getAction() & MotionEvent.ACTION_MASK) {
                case MotionEvent.ACTION_DOWN:
                    // Finger started pressing --> play sound in loop mode
                    try {
                        FileInputStream fileInputStream = new FileInputStream( PATH );
                        mp.setDataSource(fileInputStream.getFD());
                        mp.prepare();
                        mp.setLooping(true);
                        mp.start();
                    } catch (Exception e) {}
                break;
                case MotionEvent.ACTION_UP:
                    // Finger released --> stop playback
                    try {
                        mp.stop();
                        mp.reset();
                    } catch (Exception e) {}
                break;
              }
              return true;
            }
          });
    فقط این قسمتش رو متوجه نشدم PATH توی اکلیپس اروور میده کسی هست راهنمایی کنه ممنون میشم؟؟؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    یاسوج
    پست
    128

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

    خوب شما اول باید مشخص کنی این ادرس فایلت دقیقا کجاست یعنی ایا فایلی که میخوای استفاده کنی توی منابع خود برنامته یا توی کارت حافظه یا چیز دیگس بعد هم این که شما اینجا هیچ ادرس پچی نزاشتین اگه هم گذاشتین من نمیبینم به هر حال اگه فایلتون توی کارت حافظه هست اول برید دسترسی و مجوز های مربوط به کارت حافظه یعنی دسترسی خواندن و نوشتن رو چک بکنید ببینید این دسترسی رو داره یا نه اگه هم فایلتون از جای دیگه ای که محل دقیق فایل رو بگین تا راهنمایی کنم در ضمن این inputstream هم که شما اینجا استفاده کردین ضرورتی نداره یعنی شما به صورت مستقیم هم میتونی ادرس فایل رو به مدیا پلیر بدی

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    بندرعباس
    پست
    141

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

    فايل هاي صوتيم توي فلدر raw داخل res هستش اگه كمك كنيد ممنون ميشم بدجور داخلش گير كردم؟؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    بندرعباس
    پست
    141

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

    کسی بلد نیس کمک کنه؟؟؟؟

  5. #5

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

    خطایی که میده رو بزارید اینجا ببینیم مشکلش چیه

  6. #6
    کاربر دائمی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    بندرعباس
    پست
    141

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

    کد HTML:
    package com.darkhah1.tar;
    
    import java.io.FileInputStream;
    
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.media.AudioManager;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.LinearLayout;
     
     
    public class MainActivity extends Activity {
        LinearLayout lnr = (LinearLayout) findViewById(R.id.tableRow);
        Button b1 = new Button(this);
        lnr.addView(b1);
    
        // Associate the event
        b1.setOnTouchListener(new OnTouchListener() {
            MediaPlayer mp = new MediaPlayer();
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch(event.getAction() & MotionEvent.ACTION_MASK) {
                case MotionEvent.ACTION_DOWN:
                    // Finger started pressing --> play sound in loop mode
                    try {
                        FileInputStream fileInputStream = new FileInputStream( PATH );
                        mp.setDataSource(fileInputStream.getFD());
                        mp.prepare();
                        mp.setLooping(true);
                        mp.start();
                    } catch (Exception e) {}
                break;
                case MotionEvent.ACTION_UP:
                    // Finger released --> stop playback
                    try {
                        mp.stop();
                        mp.reset();
                    } catch (Exception e) {}
                break;
              }
              return true;
            }
          });
        private AudioManager audioManager;
        private NoteManager noteManager = new NoteManager();
         
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button p=(Button) findViewById(R.id.button100);
            p.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
            startActivity(new Intent(MainActivity.this, Note.class));
                    
                    
                    
                }
            });
                    
                    
                createClickEvents();
            }
             
                 
         
            private void createClickEvents() {
                 
                //Fix this up to go by ID.
                noteManager.defineKeyNote(this, R.id.button1, R.raw.c3);
                noteManager.defineKeyNote(this, R.id.button2, R.raw.b3);
                noteManager.defineKeyNote(this, R.id.button3, R.raw.a2);
                noteManager.defineKeyNote(this, R.id.button4, R.raw.b2);
                noteManager.defineKeyNote(this, R.id.button5, R.raw.a8);
                noteManager.defineKeyNote(this, R.id.button6, R.raw.a1);
                noteManager.defineKeyNote(this, R.id.button7, R.raw.a7);
                noteManager.defineKeyNote(this, R.id.button8, R.raw.c3);
                noteManager.defineKeyNote(this, R.id.button01, R.raw.b5);
                noteManager.defineKeyNote(this, R.id.button02, R.raw.c5);
                noteManager.defineKeyNote(this, R.id.button03, R.raw.a5);
                noteManager.defineKeyNote(this, R.id.button04, R.raw.b4);
                noteManager.defineKeyNote(this, R.id.button05, R.raw.c4);
                noteManager.defineKeyNote(this, R.id.button06, R.raw.a4);
                noteManager.defineKeyNote(this, R.id.button07, R.raw.a3);
                noteManager.defineKeyNote(this, R.id.button08, R.raw.c3);
                noteManager.defineKeyNote(this, R.id.button01, R.raw.a5);
                noteManager.defineKeyNote(this, R.id.button9, R.raw.b2);            
                noteManager.defineKeyNote(this, R.id.button10, R.raw.a8);
                noteManager.defineKeyNote(this, R.id.button11, R.raw.a1);
                noteManager.defineKeyNote(this, R.id.button12, R.raw.a7);            
                noteManager.defineKeyNote(this, R.id.button13, R.raw.c7);
                noteManager.defineKeyNote(this, R.id.button14, R.raw.b7);
                noteManager.defineKeyNote(this, R.id.button15, R.raw.a6);
                noteManager.defineKeyNote(this, R.id.button16, R.raw.c6);
               
    
            }
            @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }
            
            public void playAudio(View view) {
                Intent objIntent = new Intent(this, PlayAudio.class);
                startService(objIntent);
            }
            
            public void stopAudio(View view) {
                Intent objIntent = new Intent(this, PlayAudio.class);
                stopService(objIntent);    
            }
            public boolean onCreateOptionsMenu1(Menu menu) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }
            
            public void playAudio1(View view) {
                Intent objIntent = new Intent(this, PlayAudio1.class);
                startService(objIntent);
            }
            
            public void stopAudio1(View view) {
                Intent objIntent = new Intent(this, PlayAudio1.class);
                stopService(objIntent);    
            }
            public boolean onCreateOptionsMenu11(Menu menu) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }
            
            public void playAudio2(View view) {
                Intent objIntent = new Intent(this, PlayAudio2.class);
                startService(objIntent);
            }
            
            public void stopAudio2(View view) {
                Intent objIntent = new Intent(this, PlayAudio2.class);
                stopService(objIntent);    
            }
            public boolean onCreateOptionsMenu2(Menu menu) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }
            
            public void playAudio3(View view) {
                Intent objIntent = new Intent(this, PlayAudio3.class);
                startService(objIntent);
            }
            
            public void stopAudio3(View view) {
                Intent objIntent = new Intent(this, PlayAudio3.class);
                stopService(objIntent);    
            }
            public boolean onCreateOptionsMenu4(Menu menu) {
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
            }
            
            public void playAudio4(View view) {
                Intent objIntent = new Intent(this, PlayAudio4.class);
                startService(objIntent);
            }
            
            public void stopAudio4(View view) {
                Intent objIntent = new Intent(this, PlayAudio4.class);
                stopService(objIntent);    
            }
    
    }   
               
    این کل کد Mainactivity هستش الان دکمه هام صدا میده ولی تک به تک می خوام موقع لمس از اول تا اخر دکمه یکی یکی صدا بده؟؟؟

  7. #7

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

    خطا چی میده؟ نذاشتید ببینیم

  8. #8
    کاربر دائمی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    بندرعباس
    پست
    141

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

    Syntax error on token "setOnTouchListener", = expected after this token


    Syntax error on token "b1", VariableDeclaratorId expected after this token

    PATH cannot be resolved to a variable

  9. #9

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

    میگه setOnTouchListener خطای سینتکس هستش و b1 رو دوبار تعریف کردید

  10. #10
    کاربر دائمی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    بندرعباس
    پست
    141

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

    کد HTML:
    // Create a new button and place it into a table row
        LinearLayout lnr = (LinearLayout) findViewById(R.id.tableRow3);
        Button b1 = new Button(this);
        lnr.addView(b1);
    
        // Associate the event
        b1.setOnTouchListener(new OnTouchListener() {
            MediaPlayer mp = new MediaPlayer();
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch(event.getAction() & MotionEvent.ACTION_MASK) {
                case MotionEvent.ACTION_DOWN:
                    // Finger started pressing --> play sound in loop mode
                    try {
                        FileInputStream fileInputStream = new FileInputStream( PATH );
                        mp.setDataSource(fileInputStream.getFD());
                        mp.prepare();
                        mp.setLooping(true);
                        mp.start();
                    } catch (Exception e) {}
                break;
                case MotionEvent.ACTION_UP:
                    // Finger released --> stop playback
                    try {
                        mp.stop();
                        mp.reset();
                    } catch (Exception e) {}
                break;
              }
              return true;
            }
          });
    اساتید راهنمایی : من از این کد برای صدا دادن دکمه ها تا زمان نگه داشتن استفاده کرده ام آهنگم توی پوشه raw هستش میشه کمک کنید کد رو به راه بندازم؟؟؟؟

تاپیک های مشابه

  1. کار با نگهداشتن دکمه های صدا در گوشی
    نوشته شده توسط saket601 در بخش Android Studio
    پاسخ: 3
    آخرین پست: سه شنبه 14 بهمن 1393, 16:39 عصر
  2. نگه داشتن ماوس روی دکمه و انجام عملیات
    نوشته شده توسط sayvan در بخش برنامه نویسی در 6 VB
    پاسخ: 7
    آخرین پست: سه شنبه 06 دی 1390, 09:13 صبح
  3. فراخوانی دکمه های کیبورد بوسیله صدا
    نوشته شده توسط <<<S.H.M>>> در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 2
    آخرین پست: شنبه 02 آذر 1387, 14:10 عصر
  4. فراخوانی دکمه های کیبورد با صدا
    نوشته شده توسط <<<S.H.M>>> در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: پنج شنبه 30 آبان 1387, 08:50 صبح
  5. حرکت کاراکتر با نگه داشتن یک دکمه
    نوشته شده توسط Random در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 11
    آخرین پست: پنج شنبه 19 خرداد 1384, 14:16 عصر

قوانین ایجاد تاپیک در تالار

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