broken.heart 7 ارسال شده در ۲۴ شهریور ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۲۴ شهریور ۱۳۹۵ سلام دوستان من قبلا یه بار این سوال رو پرسیدم دوستان گفتند که (با این کد های کم و اطلاعات پایین نمیشه مشکلتون رو فهمید) منم الان اومدم این جا یه بار دیگه کامل تر کد هارو بزرام و مشکل رو مطرح کنم ببخشید که یکم سوالام نا مفهومه تازه واردم برا همین خوب نمیتونم مشکلم رو مطرح کنم. خلاصه ممنون میشم راهنماییم کنید... من با مطالب پیش که در انجمن بحث شده بود یاد گرفتم که چجوری باید صدا رو ضبط و پخش کرد و تو بخشی از برنامه که لازم داشتم استفاده کردم اما یه مشکل دارم هرچی سرچ زدم کد های دیگه هم به همین صورت بود که من نوشتم اما برنامه من ایراد داره و برنامه اونا نداره کلافم کرده به خدا نمیدونم چیکارش کنم این کل کد های اکتیویتیم هست... [shcode=java] public class FavqxActivity extends AppCompatActivity { MediaRecorder RecordV; MediaPlayer PlayR; ImageButton BtnRecord; ImageButton BtnPlay; private String outputFile = null; int r=0; int pr=0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fav_qx); outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myrecording.3gp"; BtnRecord = (ImageButton)findViewById(R.id.record); BtnPlay = (ImageButton)findViewById(R.id.play); RecordV = new MediaRecorder(); RecordV.setAudioSource(MediaRecorder.AudioSource.MIC); RecordV.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); RecordV.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); RecordV.setOutputFile(outputFile); BtnRecord.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(p==0){ start(v); p=1; pr=1; }else if(p==1){ stop(v); p=0; pr=0; } } }); BtnPlay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(pr==0){ play(v); //p=1; pr=1; }else if(pr==1){ stopPlay(v); //p=0; pr=0; } } }); } public void start(View view){ try { RecordV.prepare(); RecordV.start(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Toast.makeText(getApplicationContext(), "Start recording...", Toast.LENGTH_SHORT).show(); } public void stop(View view){ try { RecordV.stop(); RecordV.release(); RecordV = null; Toast.makeText(getApplicationContext(), "Stop recording...", Toast.LENGTH_SHORT).show(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (RuntimeException e) { e.printStackTrace(); } } public void play(View view) { try{ PlayR = new MediaPlayer(); PlayR.setDataSource(outputFile); PlayR.prepare(); PlayR.start(); Toast.makeText(getApplicationContext(), "Start play the recording...", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } } public void stopPlay(View view) { try { if (PlayR != null) { PlayR.stop(); PlayR.release(); PlayR = null; Toast.makeText(getApplicationContext(), "Stop playing the recording...", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } } [/shcode] کد های xml م که نیازی نیست (دوتا دکمه داره دیگه) و دیگه بگم که اروری که داره در خط های 25 تا 27 هست ینی این کد ها: [shcode=java]RecordV.setAudioSource(MediaRecorder.AudioSource.MIC); RecordV.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); RecordV.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); [/shcode] اروری هم که میده اینه: 09-13 17:08:44.811 32007-32007/com.parvizi.mohammad.myapp E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.parvizi.mohammad.myapp/com.parvizi.mohammad.myapp.FavqxActivity}: java.lang.RuntimeException: setAudioSource failed. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2114) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139) at android.app.ActivityThread.access$700(ActivityThread.java:143) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4960) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.RuntimeException: setAudioSource failed. at android.media.MediaRecorder._setAudioSource(Native Method) at android.media.MediaRecorder.setAudioSource(MediaRecorder.java:328) at com.parvizi.mohammad.myapp.FavqxActivity.onCreate(FavqxActivity.java:97) at android.app.Activity.performCreate(Activity.java:5203) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139) at android.app.ActivityThread.access$700(ActivityThread.java:143) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4960) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) at dalvik.system.NativeStart.main(Native Method) و اینم کد های build.gradle.app (گفتم شاید لازم باشه بدونید برنامه با چه ورژنیه و این جور چیزا چون یه جا خوندم که ممکنه از نسخه اندروید باشه اما اونجا راهنمایی نداشت که بفهمم چیکار کنم) [shcode=java] apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.parvizi.mohammad.myapp" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:recyclerview-v7:23.0.1' compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:recyclerview-v7:23.0.1' compile 'com.android.support:support-v4:23.0.1' compile 'uk.co.chrisjenx:calligraphy:2.2.0' compile 'com.android.support:design:23.0.1' compile 'com.google.android.gms:play-services-appindexing:8.1.0' } [/shcode] این compile هایی که دیده میشه این بالا :rolleyes: برای جا های دیگه برنامه استفاده شده و برای این اکتیویتی نیست اما چون حوصله نداشتم جدا کنم همشو گذاشتم یه جا. (ولش مهم نیست) یه چیز دیگه هم بگم که نحوه کد نوشتن کلید های record و play رو الکی نوشتم که کد به ظاهر کامل باشه. میخام بگم که مشکل اونجا نیست مشکل تو همون سه خطه که گفتم و بلافاصله بعد از باز شدن این اکتیویتی برنامه has stoped میده و به این نمیرسه که اصلا بخایم چیزی رکورد یا پخش کنیم که مشکل از کلید ها باشه کد های منیفیست مربوط به این اکتیویتی رو هم یادم رف بگم که اینه: [shcode=java][/shcode] دیگه فکر نمیکنم چیزی مونده باشه که نگفته باشم اما بازم اگر به چیز دیگه ای نیاز بود بگید تا اونم بگم بهتون بازم ممنونم از دوستان و عذر میخوام که سوال قبلیم نا مفهوم بود نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadi66 23 ارسال شده در ۲۶ شهریور ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ از ارروری که داده انگار شما اکتویتی رو در مانیفست معرفی نکرده اید ! com.parvizi.mohammad.myapp.FavqxActivity نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
broken.heart 7 ارسال شده در ۲۶ شهریور ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ از ارروری که داده انگار شما اکتویتی رو در مانیفست معرفی نکرده اید ! com.parvizi.mohammad.myapp.FavqxActivity ممنون از پاسختون:heart: اما نه دیدید که کد منیفیست رو هم قرار دادم که اینو معرفی کردم و اروری هم که میده تو لگ کت رو هم گذاشتم که دیده بشه داره به RuntimeException: setAudioSource failed. گیر میده همون خط اول زده اینو اگه ببینید و گفتم که مشکل از setAudioSource failed حالا چیکارش کنم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
abbasi2244 1 ارسال شده در ۲۶ شهریور ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ فکر کنم مشکل شما در تعریف مجوز های مانیفست هست اگر گوشی یا شبیه ساز اندروید شما نسخه 6 هست باید مجوز ها به شکل دیگه ای تعریف بشه مثل زیر 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
broken.heart 7 ارسال شده در ۲۶ شهریور ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ فکر کنم مشکل شما در تعریف مجوز های مانیفست هست اگر گوشی یا شبیه ساز اندروید شما نسخه 6 هست باید مجوز ها به شکل دیگه ای تعریف بشه مثل زیر ممنون از پاسخ تون اره فکر میکنم برا همین باید باشه اما من یاد ندارم چیکارش کنم و این کدی که نوشتین برای دوربین هست فکر کنم چون نوشته CAMERA من برای این برنامه چی باید بزارم جاش نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
broken.heart 7 ارسال شده در ۲۶ شهریور ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ ینی واقعان من باید اینقد بدشانس باشم که مشکلی تو برنامم درست شه که هیچ کس ندونه چیه مشکلش اونم تو اولین برنامم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadi66 23 ارسال شده در ۲۶ شهریور ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ اگه از مجوز باشه که باید در لاگ کت نشون بده. 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
broken.heart 7 ارسال شده در ۲۶ شهریور ۱۳۹۵ مالک گزارش اشتراک گذاری ارسال شده در ۲۶ شهریور ۱۳۹۵ اگه از مجوز باشه که باید در لاگ کت نشون بده. مشکل از مجوز ها بود متاسفانه من نمیدونستم که باید مجوزی وارد منیفیست بشه برا همین اینقد الاف شدم باید این کد هارو در منیفیست قرار میدادم [shcode=java] android:minSdkVersion="15" android:targetSdkVersion="23"/> [/shcode] خوشبختانه اون مشکل حل شد اما یه مشکل دیگه درست شد که اونو باز یکم روش فکر کنم و سرچ کنم اگه نشد در قالب یه سوال دیگه میپرسم ممنونم ازتون:heart: نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .