小编pmo*_*ule的帖子

如何在JavaFX 2.0中并行播放干净的音频循环和单次声音?

我正在尝试使用JavaFX SDK 2.0.1在JavaFX 2.0应用程序中循环播放背景音频.我决定使用由以下代码创建的MediaPlayer:

MediaPlayerBuilder
.create().media(BACKGROUND_MEDIA)
.cycleCount(MediaPlayer.INDEFINITE);
Run Code Online (Sandbox Code Playgroud)

这基本上有效,但是当新的循环开始时,音频的结束和开始之间存在微小的(延迟?)间隙.所以这对我来说不是一个可行的选择,因为它不是一个干净的循环.

我决定构建一个新的MediaPlayer对象,并在每次媒体结束时开始播放.这到目前为止工作正常.此外,我点击时使用一个按钮播放短的AudioClip.我发现经常快速点击此按钮会导致背景音频中断.我创建了一个示例,通过在单击按钮时无限播放音量为0的AudioClip来重现此行为.该示例不是自包含的,因为缺少所需的音频文件.它需要在项目的源目录中放置2个音频文件:

  • click.wav(一个非常短的咔嗒声~300ms)
  • background.wav(约5秒的音频)

当播放其他一次性音频声音时,如何在没有这些中断的情况下在后台播放干净的音频循环?这只是一个性能问题吗?

例:

package mediatest;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.media.AudioClip;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaPlayerBuilder;
import javafx.stage.Stage;

public class MediaTest extends Application {

    private static final AudioClip CLICK_AUDIOCLIP = new AudioClip(MediaTest.class.getResource("/click.wav").toString());
    private static final Media BACKGROUND_MEDIA = new Media(MediaTest.class.getResource("/background.wav").toString());

    private MediaPlayerBuilder builder;

    public static void main(String[] args) {
        Application.launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        Group root = new …
Run Code Online (Sandbox Code Playgroud)

javafx-2

7
推荐指数
1
解决办法
4013
查看次数

如何使用Netbeans 7.1处理SVN 1.7存储库?

当尝试从Netbeans更新subversion工作副本时,我收到以下错误

svn: E175002: Unable to connect to a repository at URL 'https://svn.XXX.de/svn/[RepositoryName]'
svn: E175002: OPTIONS of 'https://svn.XXX.de/svn/[RepositoryName]': Server certificate verification failed: issuer is not trusted (https://svn.XXX.de)
Run Code Online (Sandbox Code Playgroud)

另外我得到一个弹出窗口说

SVN command returned with the following error:
javax.net.ssl.SSLProtocolException: handshake alert:  unrecognized_name
Run Code Online (Sandbox Code Playgroud)

我知道这个问题,我成功地svn checkout使用了TortoiseSVN.我永久地接受了服务器证书.从命令行和Tortoise SVN访问和使用工作副本很好.

Netbeans是以-J-DsvnClientAdapterFactory=commandline选项启动的,因此访问SVN 1.7存储库基本上可以正常工作.

NetBeans IDE 7.1(Build 201112071828)
Java 1.7.0_02; Java HotSpot(TM)客户端VM 22.0-b10
TortoiseSVN 1.7.6,内部版本22632 - 64位
系统 Windows 7 - 64位

使用Netbeans可以使用我的存储库做什么?

感谢任何有用的提示!

svn java-7 netbeans-7

6
推荐指数
1
解决办法
9685
查看次数

如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中,我尝试设置工具提示的背景颜色。因此,我创建了 JToolTip 的子类,并通过重写 createToolTip() 在我的组件中使用它。到目前为止一切正常,工具提示显示正确,但背景颜色没有改变。前景色已按预期设置。当将 LookAndFeel 更改为例如 Metal 时,我可以按预期设置颜色。

这是一个能够在 Metal 和 Nimbus 之间切换的小例子。正如 yopu 希望看到的那样,按钮工具提示的背景颜色仅在使用 Metal 时设置。

import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JToolTip;

public class TooltipTestApp {

private static final String METAL_LOOK_AND_FEEL = "javax.swing.plaf.metal.MetalLookAndFeel";
private static final String NIMBUS_LOOK_AND_FEEL = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel";
private static JButton button;
private static String usedLookAndFeel = NIMBUS_LOOK_AND_FEEL;

    public static void main(String args[]) {
        button = new JButton() {

            @Override
            public JToolTip createToolTip() {
                JToolTip toolTip = …
Run Code Online (Sandbox Code Playgroud)

java swing

3
推荐指数
1
解决办法
7504
查看次数

标签 统计

java ×1

java-7 ×1

javafx-2 ×1

netbeans-7 ×1

svn ×1

swing ×1