مشکل در اجرای پروژه ضبط صدا

0 امتیاز
61 بازدید
سوال شده فروردین 28, 1395 توسط android  

سلام دوستان 

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

package com.example.linux.audiocapture;


import android.media.MediaRecorder;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {
    ImageButton play;
    ImageButton pause;
    ImageButton record;

    //moshakhas kardane name file
    public  static  String fileName = "myFile.3gp";
    //tarif kardane masire zakhire file
    String file = Environment.getExternalStorageDirectory().getAbsolutePath() +fileName;
    //ijade yek shei az krelase...
    MediaRecorder mediaRecorder;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        play      = (ImageButton) findViewById(R.id.play);
        pause  = (ImageButton) findViewById(R.id.pause);
        record = (ImageButton) findViewById(R.id.record);


        //jan bakhshi be sheie sakhte shode
        mediaRecorder = new MediaRecorder();
        //moshakhas kardane sakht afzar baraye estefade
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        //taiine formate khoroojie file
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mediaRecorder.setOutputFile(file);
        //moshakhas kardane nahveie ramz goshaii file
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
       //estefade az moteghayeri k baraye moshakhas kardane mahale zakhire file ijad kardim
        try {
            mediaRecorder.prepare();
        } catch (IOException e) {
            e.printStackTrace();
        }
        mediaRecorder.start();
        mediaRecorder.stop();



    }
    public void onClick(View v){
           int id = v.getId();
            if(id == R.id.play){

            }else if (id == R.id.pause){

            }else if (id == R.id.record){

        }



    }
}

 

این مطلب را به اشتراک بگذارید
دارای دیدگاه فروردین 29, 1395 توسط ASHKARAN  
با عرض سلام

لطفا متن خطا رو قرار بدید
دارای دیدگاه فروردین 29, 1395 توسط android  
مهندس اصلا اجرا نمیشه و توی کدهایی که به عنوان خطا میده میگه AudioSurce faild
دارای دیدگاه فروردین 29, 1395 توسط android  
04-17 10:14:30.940 2281-2281/com.example.linux.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
                                                                               Process: com.example.linux.myapplication, PID: 2281
                                                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.linux.myapplication/com.example.linux.myapplication.MainActivity}: java.lang.RuntimeException: setAudioSource failed.
                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                                   at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                                Caused by: java.lang.RuntimeException: setAudioSource failed.
                                                                                   at android.media.MediaRecorder.setAudioSource(Native Method)
                                                                                   at com.example.linux.myapplication.MainActivity.onCreate(MainActivity.java:20)
                                                                                   at android.app.Activity.performCreate(Activity.java:6237)
                                                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                   at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                   at android.os.Looper.loop(Looper.java:148) 
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

 

2 پاسخ

+1 امتیاز
پاسخ داده شده فروردین 29, 1395 توسط android  
ویرایش شده فروردین 29, 1395 توسط ASHKARAN
 
بهترین پاسخ

این پرمیشن رو هم اضافه کردم.

<uses-permission android:name="android.permission.RECORD_AUDIO" />

مشکل رو حل کردم و به نظرم مشکل خیلی جالبی بود.

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

www.stackoverflow.com/questions/3782786/android-mediarecorder-setaudiosource-failed

برای حل این مشکل باید به داخل شبیه ساز رفت و توی قسمت settings و بعد از وارد قسمت Apps بشیم و دنبال اسم پروژمون بگردیم و روش کلیک کنیم و در آخر وارد قسمت permissions بشیم  که دوتا گزینه داره یکشیش نوشته microphone که باید فعالش کرد

البته من هر دوتا رو فعال کردم هم microphone و هم storage

اینجوری مشکلم حل شد.

من از اندورید استودیو استفاده میکنم

0 امتیاز
پاسخ داده شده فروردین 29, 1395 توسط ASHKARAN  

Permission  زیر را به فایل AndroidManifest خود اضافه کنید :

<uses-permission android:name="android.permission.RECORD_AUDIO" />

 

971 سوال

817 پاسخ

1,318 دیدگاه

1,270 کاربر

متاسفانه نیستم

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

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...