在 Android Studio 中使用 MediaPlayer
Using MediaPlayer for Android Studio
我想在进入这个Fragment页面时自动在后台播放音乐。我相信注释掉的部分是您如何实现它的,但我可能输入的第一个参数不正确?
public class AlphabetFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//MediaPlayer mysong;
//mysong = MediaPlayer.create(AlphabetFragment.this, R.raw.alphabetlist);
//mysong.start();
return inflater.inflate(R.layout.fragment_alphabet, container, false);
}
或者我在错误的地方编码,它应该是 MainActivity.java 的一部分吗?
案例R.id.nav_alphabet:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new AlphabetFragment()).commit();
//mysong = MediaPlayer.create(AlphabetFragment., R.raw.alphabetlistm4a);
//mysong.start();
使用getActivity()
。它为媒体播放器提供了它需要的上下文。尝试使用此代码:
MediaPlayer mp = MediaPlayer.create( getActivity() , R.raw.alphabetlist );
您的片段代码应如下所示:
MediaPlayer mp;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mp=MediaPlayer.create(getActivity(), R.raw.alphabetlist);
mp.start():
return inflater.inflate(R.layout.fragment_alphabet, container, false);
}
试试这个。希望对您有所帮助!
您可以只使用 getActivity
从 fragment
class.
获取 activity 的上下文
如下
public class AlphabetFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
MediaPlayer mysong;
mysong = MediaPlayer.create(this.getActivity(), R.raw.alphabetlist);
mysong.start();
return inflater.inflate(R.layout.fragment_alphabet, container, false);
}
我想在进入这个Fragment页面时自动在后台播放音乐。我相信注释掉的部分是您如何实现它的,但我可能输入的第一个参数不正确?
public class AlphabetFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//MediaPlayer mysong;
//mysong = MediaPlayer.create(AlphabetFragment.this, R.raw.alphabetlist);
//mysong.start();
return inflater.inflate(R.layout.fragment_alphabet, container, false);
}
或者我在错误的地方编码,它应该是 MainActivity.java 的一部分吗?
案例R.id.nav_alphabet:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new AlphabetFragment()).commit();
//mysong = MediaPlayer.create(AlphabetFragment., R.raw.alphabetlistm4a);
//mysong.start();
使用getActivity()
。它为媒体播放器提供了它需要的上下文。尝试使用此代码:
MediaPlayer mp = MediaPlayer.create( getActivity() , R.raw.alphabetlist );
您的片段代码应如下所示:
MediaPlayer mp;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mp=MediaPlayer.create(getActivity(), R.raw.alphabetlist);
mp.start():
return inflater.inflate(R.layout.fragment_alphabet, container, false);
}
试试这个。希望对您有所帮助!
您可以只使用 getActivity
从 fragment
class.
如下
public class AlphabetFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
MediaPlayer mysong;
mysong = MediaPlayer.create(this.getActivity(), R.raw.alphabetlist);
mysong.start();
return inflater.inflate(R.layout.fragment_alphabet, container, false);
}