作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 MediaPlayer 在 Android Studio 中制作广播流应用程序,但是当我编译它时显示下一个错误:
uses or overrides a deprecated API. Recompile with -Xlint:deprecationfor details.
我在 Android 文档中搜索,我应该将此方法替换为 setAudioAttributes
,我该如何更改它?
public class Radio extends Fragment {
Button play_pause;
MediaPlayer mp;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.radio, container, false);
play_pause = (Button) view.findViewById(R.id.btnplay);
try {
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setDataSource("http://198.27.83.65:9962/;stream.mp3");
mp.prepareAsync();
}
catch (Exception e){
Toast.makeText(getContext(),"Error" + e,Toast.LENGTH_SHORT).show();
}
//mp = MediaPlayer.create(this.getContext(), R.raw.radio);
play_pause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mp.isPlaying()) {
mp.pause();
Toast.makeText(getContext(),"Stop",Toast.LENGTH_SHORT).show();
}
else {
mp.start();
Toast.makeText(getContext(),"Start",Toast.LENGTH_SHORT).show();
}
}
});
return view;
}
}
最佳答案
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
到
mp.setAudioAttributes(
new AudioAttributes
.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build());
setAudioStreamType
在 API 级别 26 中被弃用,您必须使用新方法 setAudioAttributes
根据文档:您必须在 prepare() 或 prepareAsync() 之前调用此方法,以便音频属性此后生效。
关于android - setAudioStreamType 已弃用,我该如何替换它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56744911/
我是一名优秀的程序员,十分优秀!