gpt4 book ai didi

java - 如何更改音频文件的播放速率?

转载 作者:行者123 更新时间:2023-11-30 03:08:53 27 4
gpt4 key购买 nike

我在java JMF中有以下主类,我需要增加音频文件test.wav的播放,我尝试setRate指令,但它不起作用:

这是主类:

import javax.swing.*;
import java.awt.*;
import javax.media.*;
import java.awt.event.*;
import java.net.*;

public class HelloJMF
{

static JFrame frame = new JFrame(" Hello JMF Player");

static Player helloJMFPlayer = null;

public static void main( String args[])
{
try
{
URL url=new URL("file:///d:\\testJMF.wav");
helloJMFPlayer = Manager.createRealizedPlayer(url);
}
catch( Exception e)
{
System.out.println(" Unable to create the audioPlayer :" + e );
}
Component control = helloJMFPlayer.getControlPanelComponent();
frame.getContentPane().add( control, BorderLayout.CENTER);

frame.addWindowListener( new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
helloJMFPlayer.stop();
helloJMFPlayer.close();
System.exit(0);
}
});
frame.setSize( new Dimension(400,100) );
frame.setVisible(true);
helloJMFPlayer.start();
}
}

我需要改变播放速度,我尝试过:

helloJMFPlayer.setRate(3);

但它不起作用,我需要你的帮助。

最佳答案

理论上,玩家对象率可以设置为任何实数,负数速率解释为反向播放媒体。然而,一些媒体格式在帧之间具有依赖性,这使得不可能或者反向或以非标准速率播放它们是不切实际的。要设置速率,您可以调用 setRate 并将时间比例因子作为ß float 值。当调用 setRate 时,该方法返回的速率为实际上已经设置了,即使它没有改变。 玩家仅保证支持1.0的速率。

因此,WAV 格式具有此依赖性,因此您无法更改速率。玩得开心^_^

请不要忘记订阅我的回答^_^

关于java - 如何更改音频文件的播放速率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34084868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com