Android 安卓:MediaPlayer赢了';不要在碎片可见性中玩

Android 安卓:MediaPlayer赢了';不要在碎片可见性中玩,android,android-fragments,android-mediaplayer,Android,Android Fragments,Android Mediaplayer,我遇到了一个奇怪的问题,当媒体播放器代码位于片段的onCreateView方法中时,我的媒体播放器可以正常工作和播放 class HomeFragment1 extends Fragment implements OnClickListener{ @Override public View onCreateView(final LayoutInflater inflater, final ViewGroup container, Bundle

我遇到了一个奇怪的问题,当媒体播放器代码位于片段的onCreateView方法中时,我的媒体播放器可以正常工作和播放

class HomeFragment1 extends Fragment implements OnClickListener{

@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container,
                         Bundle savedInstanceState){
    final View view= inflater.inflate(R.layout.homefragment1, container, false);

    try {
        System.out.println("Should Play");
        MediaPlayer player = new MediaPlayer();
        player.setAudioStreamType(AudioManager.STREAM_MUSIC);
        player.setDataSource("http://10.0.2.2/users/" + user_id + "/tracks/track1.mp3");
        player.prepare();
        if (!player.isPlaying()) {
            player.start();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return view;
}
这段代码有效,玩家玩得很好

然而,我正试图根据片段的可视性来启动/停止音乐。因此,当我获取相同的代码块,并将其移动到setUserVisibleHint方法中时,它会中断。加载该活动需要很长时间,而且音乐永远不会播放,尽管它应该播放。当我滑动到另一个片段时,打印应该停止

@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);

        if (isVisibleToUser)
        {
            try {
                System.out.println("Should Play");
                MediaPlayer player = new MediaPlayer();
                player.setAudioStreamType(AudioManager.STREAM_MUSIC);
                player.setDataSource("http://10.0.2.2/users/" + user_id + "/tracks/track1.mp3");
                player.prepare();
                if (!player.isPlaying()) {
                    player.start();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        else
        {
            System.out.println("Should Stop");
            //Enter stop logic here

        }

    }

Here is my error: 
01-13 12:54:27.317    1458-1458/arufolo.trapster I/System.out﹕ Should Play
01-13 12:54:58.278    1458-1477/arufolo.trapster E/MediaPlayer﹕ error (1, -2147483648)
01-13 12:54:58.279    1458-1458/arufolo.trapster W/System.err﹕ java.io.IOException: Prepare failed.: status=0x1
01-13 12:54:58.283    1458-1458/arufolo.trapster W/System.err﹕ at android.media.MediaPlayer._prepare(Native Method)
01-13 12:54:58.284    1458-1458/arufolo.trapster W/System.err﹕ at android.media.MediaPlayer.prepare(MediaPlayer.java:1125)
01-13 12:54:58.284    1458-1458/arufolo.trapster W/System.err﹕ at arufolo.trapster.HomeFragment1.setUserVisibleHint(HomeActivity.java:221)
01-13 12:54:58.284    1458-1458/arufolo.trapster W/System.err﹕ at android.support.v4.app.FragmentPagerAdapter.setPrimaryItem(FragmentPagerAdapter.java:130)
01-13 12:54:58.284    1458-1458/arufolo.trapster W/System.err﹕ at android.support.v4.view.ViewPager.populate(ViewPager.java:1071)
01-13 12:54:58.295    1458-1458/arufolo.trapster W/System.err﹕ at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
01-13 12:54:58.296    1458-1458/arufolo.trapster W/System.err﹕ at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
01-13 12:54:58.296    1458-1458/arufolo.trapster W/System.err﹕ at android.view.View.measure(View.java:17430)
01-13 12:54:58.296    1458-1458/arufolo.trapster W/System.err﹕ at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
01-13 12:54:58.296    1458-1458/arufolo.trapster W/System.err﹕ at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
01-13 12:54:58.296    1458-1458/arufolo.trapster W/System.err﹕ at android.view.View.measure(View.java:17430)
01-13 12:54:58.296    1458-1458/arufolo.trapster W/System.err﹕ at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
01-13 12:54:58.297    1458-1458/arufolo.trapster W/System.err﹕ at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
01-13 12:54:58.297    1458-1458/arufolo.trapster W/System.err﹕ at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
01-13 12:54:58.297    1458-1458/arufolo.trapster W/System.err﹕ at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
01-13 12:54:58.297    1458-1458/arufolo.trapster W/System.err﹕ at android.view.View.measure(View.java:17430)
01-13 12:54:58.297    1458-1458/arufolo.trapster W/System.err﹕ at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5463)
最奇怪的是。。。当您轻扫到一个新片段,然后轻扫回音乐应该播放的片段时,它播放得很好,没有错误

有人能帮我吗