- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是android开发的新手。我想用原始文件夹中的音乐创建一个音乐播放器。我创建了一个带有音乐列表的ListView并设置了MediaPlayer。单击ListView的项目,它可以播放音乐。现在,我想添加MediaController来控制播放此音乐(暂停,播放下一首和上一首,等等)。阅读有关该主题的许多教程,包括https://code.tutsplus.com/tutorials/create-a-music-player-on-android-project-setup--mobile-22764?ec_unit=translation-info-language。
我写了一些代码来添加MediaController,但是它没有显示在屏幕上。 Logcat中没有任何错误。
这是MainActivity
public class MainActivity extends Activity implements MediaController.MediaPlayerControl{
ListView listSongs;
ArrayList<Song> arrayList;
ArrayAdapter<Song> mAdapter;
MediaPlayer mPlayer;
private MediaController controller;
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_music_category);
listSongs = findViewById(R.id.list_songs);
arrayList = new ArrayList<>();
arrayList.add(new Song("Song1", R.raw.song1));
arrayList.add(new Song("Song2", R.raw.song2));
mAdapter = new ArrayAdapter<>(this, R.layout.text_view_forlist, arrayList);
listSongs.setAdapter(mAdapter);
mPlayer = new MediaPlayer();
controller = new MediaController(this);
controller.setMediaPlayer(this);
listSongs.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(mPlayer != null){
mPlayer.release();
}
mPlayer = MediaPlayer.create(MainActivity.this, arrayList.get(position).getmSongResourceId());
mPlayer.start();
controller.show();
}
});
}
@Override
public void start() {
mPlayer.start();
}
@Override
public void pause() {
mPlayer.pause();
}
@Override
public int getDuration() {
return mPlayer.getDuration();
}
@Override
public int getCurrentPosition() {
return mPlayer.getCurrentPosition();
}
@Override
public void seekTo(int pos) {
mPlayer.seekTo(pos);
}
@Override
public boolean isPlaying() {
return mPlayer.isPlaying();
}
@Override
public int getBufferPercentage() {
return 0;
}
@Override
public boolean canPause() {
return true;
}
@Override
public boolean canSeekBackward() {
return true;
}
@Override
public boolean canSeekForward() {
return true;
}
@Override
public int getAudioSessionId() {
return 0;
}
@Override
protected void onStop() {
super.onStop();
controller.hide();
mPlayer.stop();
mPlayer.release();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
//the MediaController will hide after 3 seconds - tap the screen to make it appear again
controller.show();
return true;
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
<ListView
android:id="@+id/list_songs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@android:color/transparent"
android:padding="0dp"
android:paddingEnd="10dp"
android:paddingStart="10dp" >
</ListView>
controller.show();
位置不正确,或者我错过了一些方法,或者问题更加普遍。谢谢你的帮助。
最佳答案
您没有附加MediaController!
试试这个:
//you can use any view like ListView (I mean listSongs) in this case instead of mView
controller.setAnchorView(mView);
关于java - 如何使用MediaPlayer将MediaController添加到音乐列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50456936/
启动Android游戏时,我试图让一些音乐淡出。音乐在主菜单中播放,然后在播放器单击播放时淡出。我可以停止播放音乐,只是不会消失。 我试图用这个淡出: using UnityEngine; using
我正在 XNA 中创建一个游戏,它可以使用大量的音乐循环,但我似乎无法同步这些声音。 我总是错过几毫秒你能帮我吗? 这是我第一次尝试同步声音。请注意,我需要处理数十种声音...... 这个同步问题可能
我使用以下代码播放了一首歌,但它有 11 分钟长,我该如何停止它? 此代码位于 jFrame 1 中。如何使其停止在 jFrame 2 中? Input
在阅读我的书并浏览一些 YouTube 教程后,我对标准化的理解是,重要的事情之一就是不要有重复的值。更具体地说,主键 (ID) 不应重复。 因此,如果我正在使用音乐/音乐会数据库中的某些表,那么以下
我正在用 java 创建一个应用程序/游戏,其中包含背景音乐/声音。一切都按预期工作。如果播放某些系统声音/媒体声音/其他声音,我想静音/停止。 有什么建议...?? 最佳答案 我建议不要关心这个问题
只是尝试从图像 (1080p .png) + 音乐 (320Kb mp3) 为 youtube 制作视频。 ffmpeg -loop 1 -i image.png -i music.mp3 -
我正在GW-Basic中开发游戏,我想向其中添加音乐,但问题是我无法在后台播放,但是当我添加声音时先播放声音,然后在开始执行游戏和vICE之后vERSA。而我希望这两件事同时播放..所以知道怎么做吗?
我正在使用Xcode的Sprite套件开发iPhone游戏,想知道是否有一种简单或最佳实践的方法可以通过编程方式消除所有声音效果/音乐?对我来说,最明显的方法是创建一些 bool(boolean) 变
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
我正在设计一个 Android 应用程序,需要依次播放各种短音乐文件。 我设置了一个“onClick”监听器来运行一个循环,一遍又一遍地播放这些声音文件,它们可能会播放 100 多次。 但是 我需要用
我有一个网站,其中包含集成到布局中的 Flash 音乐播放器。我希望用户能够在不中断音乐的情况下浏览网站。我做了很多研究和思考,以下是我提出的选项(请记住,我希望尽可能对 SEO 友好)。有人有其他想
我可以即时生成一些音调并播放声音吗?例如,如果我想生成 DO RI MI FA SO LA XI 音调并播放它们? 似乎声音 API 都是为了播放现有的音频文件。谢谢! 最佳答案 参见 Matt Ga
我一直在尝试将音乐添加到我的应用程序中,但没有特别成功。我一直在尝试使用 AVFoundation,我的代码如下: //MUSIC var audioPlayer = AVAudioP
MPMediaPickerController 返回一个 MPMediaItem 如果返回本地 url,则可以播放声音。 如果音乐没有下载到本地,则assetURL为空。 如何在本地下载 MPMedi
有什么方法可以检测是否正在播放 iPod 应用以外的其他来源的音乐或媒体? 我知道我可以检测到从 ipod 播放的音乐: [[MPMusicPlayerController iPodMusicPlay
我刚刚安装了 music21,我正在尝试开始使用它。我安装了 Musescore3,但我无法使 show() 函数工作。 我试过按照我在网上找到的一些说明更改路径,但无济于事 from music21
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我目前正在寻找某种方式来扩展SFML.Net以使用MP3。因此,ioctllr推荐了NLayer,我想尝试一下。这是我的方法: namespace AudioCuesheetEditor.AudioB
我包含了正确的库和所有内容,这部分代码由于某种原因给出了段错误: int numerator = atoi(&fraction[0]); int denominator = atoi(&fracti
是否可以播放 AVPLayer 实例(带有视频)并同时使用 MPMusicPlayerController 实例来播放 iTunes 播放列表? 我尝试了几种解决方案,但每次播放视频时音频都会停止,每
我是一名优秀的程序员,十分优秀!