我试图诋毁大多数媒体播放器所拥有的,一种显示音轨总时间以及当前时间(每秒增加)的方式。我很确定我必须使用线程,但我不确定如何。我将音频曲目保存在SD卡上,当它被播放时,将所有数据放入一个短阵列中。
理想情况下,我也希望能够使用progressBar显示进度,我认为从TextViews显示到进度条不会是一个巨大的进步。我已经浏览了互联网和所有的例子(模糊不清)我发现使用了MediaPlayer,但是因为我使用的是audioTrack,所以我觉得它更难。在我的应用程序中我无法使用MediaPlayer来执行我想要对音频执行的操作。
有人可以帮助我或指出我正确的方向吗?
答案 0 :(得分:2)
看到没有人对我的答案我使用粗略的方法来找到音轨的秒数时间。知道我自己用我给出的设置录制了轨道我知道比特率,也可以得到文件大小。
因此,创建一个File对象,然后将该对象设置为存储中的文件以获得以秒为单位的时间:
float time = (float)file.length()/22050/2;
其中22050是采样率,我认为,录音和2我认为是因为它以立体声录制。
无论如何,希望这可以帮助将来的任何人,如果我错了,请纠正我。
答案 1 :(得分:0)
float time =(float)file.length()/ playbacksamplerate / 2;
2用于缩短字节 采样率应该是您为音频轨道对象设置的播放量