2016-07-29 12 views
2

問題はサウンドが再生されないことです。なぜMediaPlayerのサウンドが再生されないのですか?

私はアプリケーションこの文を実行します(AndroidのMointor)に表示されます。MainActivity.javaコード

public class MainActivity extends AppCompatActivity { 
    @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ArrayList<String> list = new ArrayList<String>(); 
     list.add("item1"); 


     //instantiate custom adapter 
     List adapter = new List(list, this); 

     //handle listview and assign adapter 
     ListView lView = (ListView)findViewById(R.id.listView); 
     lView.setAdapter(adapter); 
    } 

} 

一覧

"D/AbsListView unregisterIRListener()と呼ばれています"。 Javaコード:

public class List extends BaseAdapter implements ListAdapter { 
    private ArrayList<String> list = new ArrayList<String>(); 
    private Context context; 
    MediaPlayer mediaPlayer; 


    public List(ArrayList<String> list, Context context) { 
     this.list = list; 
     this.context = context; 
    } 

    @Override 
    public int getCount() { 
     return list.size(); 
    } 

    @Override 
    public Object getItem(int pos) { 
     return list.get(pos); 
    } 

    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     View view = convertView; 
     if (view == null) { 
      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      view = inflater.inflate(R.layout.activity_list, null); 
     } 

     //Handle TextView and display string from your list 
     TextView listItemText = (TextView)view.findViewById(R.id.list_item_string); 
     listItemText.setText(list.get(position)); 

     //Handle buttons and add onClickListeners 

     Button addBtn = (Button)view.findViewById(R.id.add_btn); 


     addBtn.setOnClickListener(new View.OnClickListener(){ 


      @Override 
      public void onClick(View v) { 
        MediaPlayer.create(List.this.context, R.raw.people) 
         mediaPlayer.start(); 
       notifyDataSetChanged(); 
      } 
     }); 

     return view; 
    } 
} 
+0

thisを変更しなければならないと思いますか? –

+0

"logcat"とはどういう意味ですか? – abdelrhman

+0

私は以下の答えを持っています...チェック –

答えて

1

これを試してみてください。

@Override 
public void onClick(View v) { 
    mediaPlayer = MediaPlayer.create(context,R.raw.people); 
    mediaPlayer.start(); 
    notifyDataSetChanged(); 
} 
+0

mediaPlayer = MediaPlayer.create(this、R.raw.people);この文章でエラーが発生し、動作しない – abdelrhman

+0

エラーは何ですか? –

+0

問題はIDE(List.java)がこのメソッドを解決できないことです。mediaPlayer.create(this、R.raw.people); – abdelrhman

1

以下の方法を使用してサウンドを再生することができます。インターネットからのストレージやURLから再生することができます。

public void playAudio(String audioPath) { 
    try { 
     MediaPlayer mp = new MediaPlayer(); 
     mp.setAudioStreamType(AudioManager.STREAM_MUSIC); 
     mp.setDataSource(audioPath); 
     mp.prepare(); 
     mp.start(); 
     Log.d(TAG, "is playing audio..."); 
    } catch (Exception e) { 
     Log.d(TAG, "cannot play audio: " + e.toString()); 
    } 
} 
+0

IDEはタグを解決できません – abdelrhman

+0

@abdelrhmanタグはランダムな文字列の値です –

1

私はあなたがlogcatを表示することができますあなたはcontext

addBtn.setOnClickListener(new View.OnClickListener(){ 


     @Override 
     public void onClick(View v) { 
      mediaPlayer.create(context,R.raw.people); 
      mediaPlayer.start(); 
      notifyDataSetChanged(); 
     } 
    }); 
+0

まだ動作しません – abdelrhman

+0

ログを表示できますか? –

+0

ログがありません...サウンドが再生されません。質問を読む –

関連する問題