amir_gogo

سوال درباره ی رکورد صدا

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

با سلام سوالی داشتم

من بر فرض برنامه ای دارم که یک صدایی پخش میکند میخواستم یک کد بهم بدین که وقتی روی یک دکمه کلیک میشه شروع به رکورد آن صدا کند و یک دکمه به نام Stop باشه جهت تمام شدن رکورد و ذخیره ی آن در یک جا ممنون میشم کمکم کنید

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


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

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

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


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

دوست عزیز کد زیر و ببین

[shcode=java]

/*

 * The application needs to have the permission to write to external storage

 * if the output file is written to the external storage, and also the

 * permission to record audio. These permissions must be set in the

 * application's AndroidManifest.xml file, with something like:

 *

 *

 *

 *

 */

package com.android.audiorecordtest;

import android.app.Activity;

import android.widget.LinearLayout;

import android.os.Bundle;

import android.os.Environment;

import android.view.ViewGroup;

import android.widget.Button;

import android.view.View;

import android.view.View.OnClickListener;

import android.content.Context;

import android.util.Log;

import android.media.MediaRecorder;

import android.media.MediaPlayer;

import java.io.IOException;

public class AudioRecordTest extends Activity

{

    private static final String LOG_TAG = "AudioRecordTest";

    private static String mFileName = null;

    private RecordButton mRecordButton = null;

    private MediaRecorder mRecorder = null;

    private PlayButton   mPlayButton = null;

    private MediaPlayer   mPlayer = null;

    private void onRecord(boolean start) {

        if (start) {

            startRecording();

        } else {

            stopRecording();

        }

    }

    private void onPlay(boolean start) {

        if (start) {

            startPlaying();

        } else {

            stopPlaying();

        }

    }

    private void startPlaying() {

        mPlayer = new MediaPlayer();

        try {

            mPlayer.setDataSource(mFileName);

            mPlayer.prepare();

            mPlayer.start();

        } catch (IOException e) {

            Log.e(LOG_TAG, "prepare() failed");

        }

    }

    private void stopPlaying() {

        mPlayer.release();

        mPlayer = null;

    }

    private void startRecording() {

        mRecorder = new MediaRecorder();

        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

        mRecorder.setOutputFile(mFileName);

        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

        try {

            mRecorder.prepare();

        } catch (IOException e) {

            Log.e(LOG_TAG, "prepare() failed");

        }

        mRecorder.start();

    }

    private void stopRecording() {

        mRecorder.stop();

        mRecorder.release();

        mRecorder = null;

    }

    class RecordButton extends Button {

        boolean mStartRecording = true;

        OnClickListener clicker = new OnClickListener() {

            public void onClick(View v) {

                onRecord(mStartRecording);

                if (mStartRecording) {

                    setText("Stop recording");

                } else {

                    setText("Start recording");

                }

                mStartRecording = !mStartRecording;

            }

        };

        public RecordButton(Context ctx) {

            super(ctx);

            setText("Start recording");

            setOnClickListener(clicker);

        }

    }

    class PlayButton extends Button {

        boolean mStartPlaying = true;

        OnClickListener clicker = new OnClickListener() {

            public void onClick(View v) {

                onPlay(mStartPlaying);

                if (mStartPlaying) {

                    setText("Stop playing");

                } else {

                    setText("Start playing");

                }

                mStartPlaying = !mStartPlaying;

            }

        };

        public PlayButton(Context ctx) {

            super(ctx);

            setText("Start playing");

            setOnClickListener(clicker);

        }

    }

    public AudioRecordTest() {

        mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();

        mFileName += "/audiorecordtest.3gp";

    }

    @Override

    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);

        LinearLayout ll = new LinearLayout(this);

        mRecordButton = new RecordButton(this);

        ll.addView(mRecordButton,

            new LinearLayout.LayoutParams(

                ViewGroup.LayoutParams.WRAP_CONTENT,

                ViewGroup.LayoutParams.WRAP_CONTENT,

                0));

        mPlayButton = new PlayButton(this);

        ll.addView(mPlayButton,

            new LinearLayout.LayoutParams(

                ViewGroup.LayoutParams.WRAP_CONTENT,

                ViewGroup.LayoutParams.WRAP_CONTENT,

                0));

        setContentView(ll);

    }

    @Override

    public void onPause() {

        super.onPause();

        if (mRecorder != null) {

            mRecorder.release();

            mRecorder = null;

        }

        if (mPlayer != null) {

            mPlayer.release();

            mPlayer = null;

        }

    }

}

[/shcode]

از این سایت گرفتم چون ف ی ل ت ر بود کدشو گذاشتم

http://developer.android.com/guide/topics/media/audio-capture.html

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


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

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

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

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

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


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

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

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


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