Android 音乐搜索栏无法工作(空闲)

2023-12-10

我正在从 url 播放 mp3 文件,但在播放歌曲时 SeekBar 没有更新。

当我试图用力移动时,歌曲就会从头开始播放。

下面的代码我用来播放和更新 SeekBar。

我想创建一个跟踪媒体播放器进度的搜索栏,但效果不太好,音乐正在播放,但搜索栏保持空闲状态。我有遗漏什么吗?

我想我不是不打电话更新SeekBar()从正确位置开始的方法...所以尝试通过改变位置更新SeekBar()但没有工作...

我是不是错过了什么……?请帮忙......我是Android新手......

活动.java

Play = findViewById(R.id.Play_button);
Play.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            play (url);//Song Url
        }
});

private void play(String url) {

    if (mediaPlayer != null && mediaPlayer.isPlaying()) {
        mediaPlayer.stop();
    }

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {

        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            public void onCompletion(MediaPlayer mp) {
                try {
                    if (temp == playurl.length) {
                        temp = 0;
                        play(playurl[temp]);
                        t1.setText(mobileArray[temp]);
                    } else {
                        temp = temp + 1;
                        play(playurl[temp]);
                        t1.setText(mobileArray[temp]);

                    }
                }catch(ArrayIndexOutOfBoundsException exception) {
                    temp = 0;
                    play(playurl[temp]);
                    t1.setText(mobileArray[temp]);
                }
            }
        });
        mediaPlayer.setDataSource(url);
    } catch (IllegalArgumentException e) {
        Toast.makeText(getApplicationContext(), "Please Check Your Internet Connection!", Toast.LENGTH_LONG).show();
    } catch (SecurityException e) {
        Toast.makeText(getApplicationContext(), "Please Check Your Internet Connection!", Toast.LENGTH_LONG).show();
    } catch (IllegalStateException e) {
        Toast.makeText(getApplicationContext(), "Please Check Your Internet Connection!", Toast.LENGTH_LONG).show();
    } catch (IOException e) {
        e.printStackTrace();
    }catch (Exception ex){
        String err = (ex.getMessage()==null)?"SD Card failed":ex.getMessage();
        Log.e("sdcard-err2:",err);
    }
    try {
        mediaPlayer.prepare();
    } catch (IllegalStateException e) {
        Toast.makeText(getApplicationContext(), "Please Check Your Internet Connection!", Toast.LENGTH_LONG).show();
    } catch (IOException e) {
        Toast.makeText(getApplicationContext(), "Please Check Your Internet Connection!", Toast.LENGTH_LONG).show();
    }catch (Exception ex){
        String err = (ex.getMessage()==null)?"SD Card failed":ex.getMessage();
        Log.e("sdcard-err2:",err);
    }
    try {
        mediaPlayer.start();
    }catch (Exception ex){
        String err = (ex.getMessage()==null)?"SD Card failed":ex.getMessage();
        Log.e("sdcard-err2:",err);
    }
    finalTime = mediaPlayer.getDuration();
    updateSeekBar();
    startTime = mediaPlayer.getCurrentPosition();
}

private void updateSeekBar() {
    seekBar.setProgress((int) (((float) mediaPlayer.getCurrentPosition() / mediaFileLength) * 100));
    if (mediaPlayer.isPlaying()) {
        Runnable updater = new Runnable() {
            @Override
            public void run() {
                updateSeekBar();
            }
        };seekBar.post(updater);
    }
}

@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
    seekBar.setSecondaryProgress(percent);
}

尝试这个

mediaFileLength = mediaPlayer.getDuration();
realtimeLength = mediaFileLength;
mediaPlayer.start();
finalTime = mediaPlayer.getDuration();
startTime = mediaPlayer.getCurrentPosition();
updateSeekBar();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 音乐搜索栏无法工作(空闲) 的相关文章

  • 如何在flutter android插件包中处理android生命周期

    我需要知道 android 插件包中 flutter 应用程序视图的当前状态 现在 我观察颤振视图中的状态https docs flutter io flutter widgets WidgetsBindingObserver class
  • 使用 ViewPager 从 Activity 到 Fragment 的通信

    我有一个 Activity 和两个 Fragmentstablayout含有一个viewpager 现在我可以通过实现谷歌的指南回调接口从片段到活动进行通信 但我怎样才能以另一种方式沟通从活动到片段 如果活动中发生了一些事情 外部事件 我想
  • 使用 HashMap 映射 String 和 int

    我有一个显示国家 地区名称的列表视图 我已将名称作为字符串数组存储在 strings xml 中 称为国家 地区名称 在填充 ListView 时 我使用从 strings xml 读取的 ArrayAdapter String count
  • Android 操作栏 SearchView 作为自动完成功能?

    我在操作栏中使用 SearchView 我想在搜索视图上使用自动完成功能来从数据库中获取结果 这可能吗 或者我是否需要使用自定义文本框 然后添加自动完成功能 所以我只需要对 v7 版本执行此操作 并沮丧地发现我不能简单地使用 ArrayAd
  • 尝试在谷歌地图V2 Android应用程序中获取空数组的长度

    我目前正在使用谷歌地图API开发一个Android应用程序 有时我会因为没有明显的原因而发生奇怪的崩溃 在我看来 这是崩溃日志 12 02 16 38 57 071 20796 21137 com appsolute ParkYoo E A
  • 检测Android N版本代码

    是否可以检测用户是否运行 Android N 我有一台装有 Android N 开发者预览版的 Nexus 6 如果我尝试获取构建版本Build VERSION SDK INT 它返回 23 等于 Android Marshmallow Q
  • Ionic4 电容器 android livereload?

    是否有可能在带有 livereload 的 Android 设备上运行带有电容器的 ionic 4 应用程序 我已经找了几个小时的答案了 但没有成功 请帮忙 如果使用最新版本 ionic cli 现在有一个命令ionic capacitor
  • Android Studio 与 Google Play 服务的编译问题

    我正在运行 Android Studio 0 8 4 并在 Android Studio 0 8 2 上尝试过此操作 我正在运行 Java JDK 1 8 0 11 并尝试使用 JDK 1 8 0 05 每当我尝试构建我的 android
  • 如何以编程方式关闭画中画

    我在使用画中画模式时遇到了这个问题 当从 PIP 本身以外的其他位置再次打开 Activity 时 我想关闭 PIP 画中画 不是来自关闭按钮 我想要与 youtube 相同的场景 即当用户单击 PIP 画中画 时 它会打开相同的活动 但是
  • 如何切换状态栏?

    我正在寻找一种显示和隐藏状态栏的方法onClickListener 但仅显示其有效 WindowManager LayoutParams lp getWindow getAttributes if isStatusbarVisible lp
  • 在 Unity 中构建 apk 应用程序时包含文件

    在unity中构建apk文件时如何将文件和文件夹添加到apk文件中 我需要的是在Android上安装应用程序后 在应用程序的父目录 android data com company product files 中存在一些文件和文件夹 这是我
  • 如何在我的谷歌上嵌入转弯导航

    我想在我的 Android 应用程序中嵌入逐段导航 请给我一个教程或如何执行此操作的想法 提前致谢 如果您不固定使用谷歌地图 您可以使用基于 OpenStreetMap 地图的维基百科版本 的 SDK 有几个不错的 SDK 提供商 skob
  • android gradle插件-离线安装

    我必须在离线电脑上安装 android gradle 插件 通过谷歌搜索 我了解到我可以通过本地 Maven 存储库来做到这一点 但从不成功的尝试和所有关于这个问题的质量保证中我知道这并不简单 我从来没有和maven一起工作过 有经验的人可
  • 通知管理器所需的权限

    我正在尝试使用以下命令将振铃器设置为静音且请勿打扰优先级 AudioManager myAudioMgr AudioManager context getSystemService Context AUDIO SERVICE Notific
  • 什么是版本代码主要?和versionCode有什么区别?

    我刚刚发现PackageInfo versionCode https developer android com reference android content pm PackageInfo html versionCode在 Andr
  • android中如何将字符串转换为unicode

    我正在解析一些unicodes from json to my android应用程序 API 给出unicodes像这样的图标 ue600 当我将这个unicode直接添加到textview like textview setText u
  • 如何将 Android 应用程序添加到已在 iOS 应用程序中使用的现有 Firebase 项目?

    我一直在我的 iOS 应用程序中使用 Firebase 项目 我现在想开始为 Android 应用程序使用相同的 Firebase 项目及其所有数据库和存储 在您的应用程序下Overview菜单 你应该按添加另一个应用程序并选择Androi
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe
  • AsyncTask的并行执行

    An 异步任务单击时执行 List
  • 无法 ACTION_VIEW 外部存储上的文件

    我的 Android 手机的外部存储中有一个文件 在本例中是模拟的 知道通往它的路径和 或拥有File代表它的对象 我如何使用Intent在适当的应用程序中打开它 我尝试的第一件事是 startActivity new Intent Int

随机推荐

  • python 列表,向列表添加一些内容会改变整个内容?

    所以我试图在Python中实现选择排序 并且我将每次迭代的结果附加到一个列表中以在最后打印 我的代码正确地对数字列表进行排序 但是当我将它附加到最后的同一个列表中时更改所有其他列表 def s sort numbers alist do a
  • 计算出勤时间差

    我有一个包含以下示例输出的表格 UserID Checktime CheckStatus 3175 2013 12 22 07 02 10 000 I 3175 2013 12 22 13 01 01 000 O 3175 2013 12
  • 针对特定图像的 CSS

    我正在寻找一种使用 CSS 定位特定图像的方法 如果可能的话 我正在运行一个 CMS 用户可以在其中上传图像并将其放在他们的页面上 我想要一种定位具有特定尺寸的图像的方法 所以问题是 你可以让 css 行针对具有特定尺寸规格的图像或对象吗
  • 使用 LocalStorage 保存和加载购物车

    我有以下代码 inames iqtyp iprice function bestel inames push document getElementById artikel innerHTML iqtyp push parseInt doc
  • C - strtok(...) 上出现意外的分段错误

    我正在使用库的 strtok 它似乎工作正常 直到结束条件 它导致分段错误和程序崩溃 API 声称 当找不到更多标记时 strtok 将输出 NULL 这意味着 我认为 您必须捕获此 NULL 才能终止使用 strtok 运行的任何循环 我
  • Android 来电事件

    我想创建一个 onCall 事件 我已经知道没有这样的方法 但基本上我想做的是 当接到来电时 弹出 Toast 或其他任何内容 任何类型的教程或示例代码都会有帮助 多谢 Use PhoneStateListener它已经重写了方法onCal
  • 如何确定 ARM 处理器是运行在通常的锁定“世界”中还是运行在 Secore“世界”中?

    例如 virt what显示您是否在硬件虚拟化 沙箱 内运行 如何检测您是否在 ARM TrustZone 沙箱中运行 信任区也许与你想象的不同 有一系列模式 从 可信功能的简单 API 到在每个世界中运行的 双操作系统 如果该问题有更多背
  • Objective-C:正确保留 3 位小数

    我正在尝试将浮点值降低到小数点后第三位 例如 值 2 56976 应为 2 569 而不是 2 570 我搜索并找到了这样的答案 向下取小数点后两位数 这样的答案并不准确 例如代码 double value double unsigned
  • 序列化静态类?

    如果我们序列化静态类会发生什么 如果我们序列化静态类 是否可以创建多个静态类实例 Serializable public static class MyClass public static MyClass public static bo
  • PHP 用 vars 替换字符串中的通配符(%s、%d)

    我有翻译功能t var function t word return this gt words word where this gt words是数组 this gt words array word1 gt word word2 gt
  • 如何打印一年中的所有星期(或一年中的第一个星期一)

    如何打印从星期一开始到星期日结束的所有周 如下所示 使用 Zend date 1 04 Jan 2010 10 Jan 2010 2 11 Jan 2010 17 Jan 2010 3 18 Jan 2010 24 Jan 2010 首先找
  • MYSQL 选择往复数据?

    我有一张桌子叫Follow 具有三个字段 Id 自动增量整数 用户ID 整数 关注 整数 如果我有这样的数据 ID UserId Following 1 2 3 2 3 2 3 2 5 4 2 6 5 3 5 我如何找到用户 2 的朋友 即
  • Pandas groupby 然后应用 to_dict('records')

    假设我有以下数据框 df pd DataFrame a 1 1 1 2 b a a b c d 1 2 3 4 我想以下面的句子结束 1 b a d 1 b a d 2 b b d 3 2 b c d 4 基本上 我想分组a对于我想应用的每
  • 将 UTC 日期转换为当前时区

    我必须将这种格式 2016 09 25 17 26 12 的 UTC 日期转换为 Android 的当前时区 我这样做了 SimpleDateFormat simpleDateFormat new SimpleDateFormat yyyy
  • 在 Objective C 中读取 .doc (MS Word) 文件?

    是否可以在 ObjC 中读取 doc MSWord 文件 或者 还有其他方法可以读取word文件吗 Thanks 这取决于您的平台 iPhone 的富文本功能与 OS X 截然不同 UIWebView可以打开它们在 iPhone 上 在 M
  • 如何使用带有工具提示的 ChartJs 或 D3 创建 RRG(相对旋转图)?

    我想使用 ChartJS 或 D3Js 使用任何开源创建 RRG 我已经尝试过这个 但无法绘制象限分叉示例https codesandbox io s chart js forked m1zug2 期望应该如下所示 在此输入图像描述 您可以
  • 无法从 Android 上创建的 ZIP 存档中提取文件(特定于设备/操作系统)

    我正在 Android 上使用如下代码创建存档 OutputStream os new FileOutputStream zipFile ZipOutputStream zos new ZipOutputStream new Buffere
  • 处理列表视图中用户控件的事件

    我有一个简单的用户控件 它会在单击按钮时引发事件 Public Class UcPaymentCheque Inherits System Web UI UserControl Public Event OnCancelClick Priv
  • 使用 C++ 序列化结构并通过套接字发送它

    我将通过 C 套接字发送一个结构 这是一个示例结构 struct PIPPO int x int y 我使用它 PIPPO test2 test2 x 10 test2 y 20 我有上面的代码来序列化并通过套接字发送它 问题是 如果我尝试
  • Android 音乐搜索栏无法工作(空闲)

    我正在从 url 播放 mp3 文件 但在播放歌曲时 SeekBar 没有更新 当我试图用力移动时 歌曲就会从头开始播放 下面的代码我用来播放和更新 SeekBar 我想创建一个跟踪媒体播放器进度的搜索栏 但效果不太好 音乐正在播放 但搜索