2014-09-08 3 views
-4

Я пытаюсь сделать интерфейс с телефоном с помощью захвата, поэтому я пытаюсь записать данные (звук), отправленные с помощью Hijack. Когда я пытаюсь использовать этот код с помощью Eclipse, он показывает мне, что программа, к сожалению, остановилась, я подумал, что я использую периферию, на которую эмулятор не может получить доступ на ПК, поэтому я переместил его в Мой смартфон, и он показывает та же проблема.Приложение к сожалению прекратило работать

Вот код:

public class MainActivity extends Activity { 

    private MediaRecorder myAudioRecorder; 
    private String outputFile = null; 
    private Button start,stop,play; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     start = (Button)findViewById(R.id.button1); 
     stop = (Button)findViewById(R.id.button2); 
     play = (Button)findViewById(R.id.button3); 

     stop.setEnabled(false); 
     play.setEnabled(false); 
     outputFile = Environment.getExternalStorageDirectory() 
       .getAbsolutePath() + "/myrecording.3gp"; 

     myAudioRecorder = new MediaRecorder(); 
     myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
     myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); 
     myAudioRecorder.setOutputFile(outputFile); 
    } 

    public void start(View view){ 
     try { 
      myAudioRecorder.prepare(); 
      myAudioRecorder.start(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     start.setEnabled(false); 
     stop.setEnabled(true); 
     Toast.makeText(getApplicationContext(), "Recording started", 
       Toast.LENGTH_LONG).show(); 
    } 

    public void stop(View view){ 
     myAudioRecorder.stop(); 
     myAudioRecorder.release(); 
     myAudioRecorder = null; 
     stop.setEnabled(false); 
     play.setEnabled(true); 
     Toast.makeText(getApplicationContext(), "Audio recorded successfully", 
     Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    public void play(View view) throws IllegalArgumentException, 
      SecurityException, IllegalStateException, IOException{ 
     MediaPlayer m = new MediaPlayer(); 
     m.setDataSource(outputFile); 
     m.prepare(); 
     m.start(); 
     Toast.makeText(getApplicationContext(), "Playing audio", 
       Toast.LENGTH_LONG).show(); 
    } 
} 

здесь манифеста:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.audiocapture" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="21" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

здесь является main_activity.xml:

<?xml version="1.0" encoding ="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" 
    tools:ignore="RtlHardcoded" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="32dp" 
     android:text="@string/Recording" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     tools:ignore="RtlHardcoded" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_below="@+id/textView1" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="37dp" 
     android:scaleType="fitXY" 
     android:src="@android:drawable/presence_audio_online" 
     android:contentDescription="@string/imageViewDescription" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/imageView1" 
     android:layout_marginTop="67dp" 
     android:layout_toLeftOf="@+id/imageView1" 
     android:onClick="start" 
     android:text="@string/start" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/button1" 
     android:layout_alignBottom="@+id/button1" 
     android:layout_alignRight="@+id/textView1" 
     android:layout_marginRight="40dp" 
     android:onClick="stop" 
     android:text="@string/stop" /> 

    <Button 
     android:id="@+id/button3" 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/button2" 
     android:layout_centerHorizontal="true" 
     android:onClick="play" 
     android:text="@string/play" /> 

</RelativeLayout> 
+0

пост LogCat помочь U –

+0

Пожалуйста, разместите ошибку logcat, чтобы мы могли помочь вам –

+0

Да, у него есть (к «вопросу» в заголовке). Пожалуйста, прочитайте: http://developer.android.com/tools/debugging/index.html и подтемы. – user2864740

ответ

-1
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.audiocapture" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="21" /> 


    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission-group.HARDWARE_CONTROLS"/> 
    <uses-permission android:name="android.permission-group.MICROPHONE"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 
+0

Я делаю это, прежде чем вы скажете мне, еще раз спасибо, гм, пытаюсь, я надеюсь, что это сработает, Благодарим вас за отличную помощь –

+0

вам также понадобится разрешение на микрофон .. – HussainMarvi

+0

спасибо, что это работает со мной :) :) I нужна другая помощь, Logcat не показывал никаких сообщений. –

Смежные вопросы