Android:如何从Fragment中的MainActivity获取MediaPlayer对象?

法迪·欧巴吉(Fadi Obaji)

我正在开发一个android应用程序,并且正在使用NavigationDrawer,只有一个活动(MainActivity)和Fragments。我有一个电台直播流上的按钮ActionBar,所以我做的一个目的MediaPlayerMainActivity为实时流按钮,它的正常工作,现在我有一个片段一些声音文件,我希望得到mediaPlayer我的人造物体MainActivity以便使用它。请注意,实时流按钮始终在应用程序顶部可见,因此,如果我处在具有声音文件的片段中,则我希望能够收听声音文件,如果单击实时流按钮,则声音文件将被暂停,并且实时流将打开。

这是我的代码:这是MainActivity(仅是相对部分):

public class MainActivity extends ActionBarActivity {

   private static final String RADIO_STREAM_URL= "http://198.178.123.23:8662/stream/1/;listen.mp3";
   MediaPlayer mediaPlayer;
   @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);
       mediaPlayer = new MediaPlayer();
       mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
       try {
           mediaPlayer.setDataSource(RADIO_STREAM_URL);
       } catch (IOException e) {
           e.printStackTrace();
       }

       return true;
   }
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {

    if (item != null )
    {
        if(item.getItemId() == android.R.id.home){
            if (mDrawerLayout.isDrawerOpen(Gravity.END)){
                mDrawerLayout.closeDrawer(Gravity.END);
            } else {
                mDrawerLayout.openDrawer(Gravity.END);
            }
        }else if(item.getItemId() == R.id.action_settings){
            try {
                mediaPlayer.prepareAsync();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            }


            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mediaPlayer) {
                    if(mediaPlayer.isPlaying()){
                        mediaPlayer.stop();
                        Log.e("ANA Radio","was playing");
                    }else{
                        Log.e("ANA Radio","was not playing");

                        mediaPlayer.start();
                    }
                }
            });
        }

    }
    return false;
}

现在如何获取mediaPlayer一个Fragment中对象?

全日空

尝试以下操作:在您的片段中,您可以编写以下代码来获取MediaPlayer对象:

((MainActivity)getActivity()).mediaPlayer

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:如何更改Fragment中从MainActivity接收数据的视图

来自分类Dev

在Android中从MainActivity调用TextView到Fragment

来自分类Dev

如何在MainActivity和Fragment中正确获取WifiManager实例

来自分类Dev

如何从Android中的Firebase获取对象?

来自分类Dev

如何从Android中的Firebase获取对象?

来自分类Dev

如何从 asynctask 中获取结果到 mainactivity

来自分类Dev

Android:从Fragment调用时如何从活动中获取返回结果?

来自分类Dev

Android:从Fragment调用时如何从活动中获取返回结果?

来自分类Dev

Android在Fragment中获取VersionName

来自分类Dev

如何在Android Studio中从MainActivity.java访问xml gui对象?

来自分类Dev

MediaPlayer onTimedText(MediaPlayer mp,最终的TimedText文本)每次在Android中获取文本为null

来自分类Dev

如何在Android中将数据从DialogFragment获取到MainActivity?

来自分类Dev

Android:在Fragment类中访问View对象

来自分类Dev

如何在BroadcastReceiver中访问MainActivity的对象或方法?

来自分类Dev

如何从openCV android中的Byte []获取Mat对象?

来自分类Dev

如何在Android中获取偏好的对象类型?

来自分类Dev

如何从Android中的Cloud Firestore获取集合内的对象列表?

来自分类Dev

如何从Android中的相对布局获取可绘制对象

来自分类Dev

如何使用Spring for Android在此输出中获取JSON对象

来自分类Dev

如何在jsonarray firebase android中获取对象?

来自分类Dev

如何在我的 MainActivity 中获取 EditTextPreference 的引用?

来自分类Dev

Android 在 Fragment 中获取视图返回 Null

来自分类Dev

在Xamarin Forms中,如何调用MainActivity的方法或从另一个类获取MainActivity的“ Window”?

来自分类Dev

Android-从MainActivity调用方法到Fragment

来自分类Dev

Android Studio从MainActivity访问Fragment方法

来自分类Dev

在MainActivity中扫描后如何将字符串发送到Fragment中的EditText

来自分类Dev

ActionBar:如何从MainActivity访问Fragment的方法?

来自分类Dev

如何确定视频已在Android的MediaPlayer中缓冲?

来自分类Dev

在Android中更改活动时如何停止MediaPlayer

Related 相关文章

  1. 1

    Android:如何更改Fragment中从MainActivity接收数据的视图

  2. 2

    在Android中从MainActivity调用TextView到Fragment

  3. 3

    如何在MainActivity和Fragment中正确获取WifiManager实例

  4. 4

    如何从Android中的Firebase获取对象?

  5. 5

    如何从Android中的Firebase获取对象?

  6. 6

    如何从 asynctask 中获取结果到 mainactivity

  7. 7

    Android:从Fragment调用时如何从活动中获取返回结果?

  8. 8

    Android:从Fragment调用时如何从活动中获取返回结果?

  9. 9

    Android在Fragment中获取VersionName

  10. 10

    如何在Android Studio中从MainActivity.java访问xml gui对象?

  11. 11

    MediaPlayer onTimedText(MediaPlayer mp,最终的TimedText文本)每次在Android中获取文本为null

  12. 12

    如何在Android中将数据从DialogFragment获取到MainActivity?

  13. 13

    Android:在Fragment类中访问View对象

  14. 14

    如何在BroadcastReceiver中访问MainActivity的对象或方法?

  15. 15

    如何从openCV android中的Byte []获取Mat对象?

  16. 16

    如何在Android中获取偏好的对象类型?

  17. 17

    如何从Android中的Cloud Firestore获取集合内的对象列表?

  18. 18

    如何从Android中的相对布局获取可绘制对象

  19. 19

    如何使用Spring for Android在此输出中获取JSON对象

  20. 20

    如何在jsonarray firebase android中获取对象?

  21. 21

    如何在我的 MainActivity 中获取 EditTextPreference 的引用?

  22. 22

    Android 在 Fragment 中获取视图返回 Null

  23. 23

    在Xamarin Forms中,如何调用MainActivity的方法或从另一个类获取MainActivity的“ Window”?

  24. 24

    Android-从MainActivity调用方法到Fragment

  25. 25

    Android Studio从MainActivity访问Fragment方法

  26. 26

    在MainActivity中扫描后如何将字符串发送到Fragment中的EditText

  27. 27

    ActionBar:如何从MainActivity访问Fragment的方法?

  28. 28

    如何确定视频已在Android的MediaPlayer中缓冲?

  29. 29

    在Android中更改活动时如何停止MediaPlayer

热门标签

归档