当前位置: 首页 > 知识库问答 >
问题:

如何使用Android Media Player搜索栏控制音频?

督烨赫
2023-03-14

我可以使用android media player播放音频文件。我可以显示进度条和附加的两个按钮来暂停和播放音频曲目。我的问题是我无法使用进度条控制轨迹。我想播放要更新的音频曲目,具体取决于我将进度条拖动到的位置。

下面是我的代码

public class MyMediaPlayerView extends AppCompatActivity implements View.OnClickListener {

            /**
             * var for controller
             * restore timestamp today 12:11
             */
             SeekBar seek_bar;
             Button play_button, pause_button;
             MediaPlayer player;
             TextView text_shown;
             Handler seekHandler = new Handler();


            @Override
            protected void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
                 setContentView(R.layout.activity_launch_webview);
                 getSupportActionBar().setDisplayHomeAsUpEnabled(true);

                 getInit();
                 seekUpdation();
             }

             Runnable run = new Runnable() {
                @Override public void run() {
                     seekUpdation();
                }
             };

             public void seekUpdation() {
                 seek_bar.setProgress(player.getCurrentPosition());
                 seekHandler.postDelayed(run, 1000);

                 onProgressChanged(seek_bar, seek_bar.getProgress());
             }

             @Override 
             public void onClick(View view) {
                  switch (view.getId()) {
                  case R.id.play_button: text_shown.setText("Playing...");         
                  player.start();
                  break; case R.id.pause_button: player.pause();
                  text_shown.setText("Paused...");
                  }
             }

             public void onProgressChanged(SeekBar seek_Bar, int progress,
                  boolean fromUser) {
                  player.seekTo(progress);
             }
    }

共有2个答案

壤驷兴朝
2023-03-14

你忘了添加监听器,把它放进你的onCreate()

seek_bar = (SeekBar)findViewById(R.id.yourseekbarhere);
seek_bar.setOnSeekBarChangeListener(this);

我应该帮你

仲孙飞文
2023-03-14

我就是这样做的

seek_bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                if(fromUser)
                    player.seekTo(progress);
            }
       @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });
 类似资料:
  • 我试图通过传递键从JpaRepository的getOne中按主键搜索 我有一个模型(客户),其中定义了客户的详细信息。我有一个接口服务(CustomerService)及其实现(CustomerServiceImpl,它实现CustomerService)。我还有一个接口存储库(CustomerRepository),它扩展了JpaRepository。现在在我的控制器中,我将id传递给函数(f

  • 苹果风格的搜索栏,带有一个自动隐藏的取消按钮。适合作为主搜索固定在页面顶部,搜索栏只是一个CSS组件,不提供任何JS功能,你也可以单独使用 .search-input。 <header class="bar bar-nav">   <h1 class='title'>搜索栏</h1> </header> <div class="bar bar-header-secondary">   <d

  • 搜索栏允许用户在列表元素中搜索,或者它可以用来作为UI组件,放到你自己的搜索实现中。 搜索栏布局 搜索栏应该放到“.page”内,“.page-content”前: <div class="page"> <!-- Search bar --> <form class="searchbar"> <div class="searchbar-input"> <inpu

  • <div class="ui-searchbar-wrap ui-border-b"> <div class="ui-searchbar ui-border-radius"> <i class="ui-icon-search"></i> <div class="ui-searchbar-text">搜索号码(2-10位)</div>

  • 我正在开发一个应用程序,它可以使用语音控制音乐播放器。例如,当我说"play"音乐播放器播放歌曲,或者说"Next"音乐播放器将播放下一首歌曲,等等。我已经谷歌了,但没有找到任何想法或源代码。 问题: > 使用语音控制音乐播放器的想法 源代码示例。 提前感谢。 可能相关:Android-语音控制-媒体意图

  • search这部分是利用小程序input组件实现,在下面的示例中主要使用了focus和bindinput两个属性,由于mpvue从底层支持 Vue.js 语法和构建工具体系,因此可以用vue的v-model进行双向数据绑定,示例如下: <template> <div class="page"> <div class="page__hd"> <div class="page_