Module  javafx.media
软件包  javafx.scene.media

Class AudioClip



  • public final class AudioClip
    extends Object
    AudioClip表示可以以最小延迟播放的音频段。 剪辑的加载类似于Media对象,但具有不同的行为,例如,一个Media无法自己播放。 AudioClip也可立即使用。 播放行为是火而忘记的:一次播放方法被称为唯一可操作的控件是stop() 一个AudioClip也可以同时播放多次。 要使用Media完成相同的任务,必须为并行播放的每个声音创建一个新的MediaPlayer对象。 Media对象更适合长时间播放的声音。 这主要是因为AudioClip在内存中存储了整个声音的原始,未压缩音频数据,对于长音频剪辑来说,这可能相当大。 A MediaPlayer将只有足够的解压缩音频数据在内存中预先播放短时间,因此对于较长的剪辑而言,特别是如果它们被压缩,则可以更高的内存效率。

    使用示例

       AudioClip plonkSound = new AudioClip("http://somehost/path/plonk.aiff"); plonkSound.play();  
    从以下版本开始:
    JavaFX 2.0
    • Property Detail

      • volume

        public DoubleProperty volumeProperty
        剪辑播放的相对音量级别。 有效范围为0.0(静音)至1.0(全音量)。 值在内部被钳位到该范围,所以超出此范围的值将不会产生额外的影响。 音量由衰减控制,因此低于1.0的值将相应地降低声级。
        另请参见:
        getVolume()setVolume(double)
      • balance

        public DoubleProperty balanceProperty
        剪辑的相对左右音量级别。 有效范围是-1.0到1.0,其中-1.0给左声道全音量,而右声道静音,0.0给两个声道全音量,而1.0则向右声道提供全音量并使左声道静音。 超出此范围的值在内部夹紧。
        另请参见:
        getBalance()setBalance(double)
      • rate

        public DoubleProperty rateProperty
        剪辑播放的相对速率。 有效范围为0.125(1/8速)至8.0(8倍速); 超出此范围的值在内部夹紧。 剪辑的正常播放为1.0; 任何其他费率将相应地影响音调和持续时间。
        另请参见:
        getRate()setRate(double)
      • pan

        public DoubleProperty panProperty
        剪辑的相对“中心”。 平移值0.0为正常播放剪辑,其中-1.0平移将剪辑完全移动到左声道,并且1.0完全移动到右声道。 与平衡不同,此设置将两个通道混合,因此通道都不会丢失数据。 在单声道剪辑上设置平移与设置平衡具有相同的效果,但CPU开销成本高得多,因此不建议使用单声道剪辑。
        另请参见:
        getPan()setPan(double)
      • priority

        public IntegerProperty priorityProperty
        剪辑相对于其他剪辑的相对优先级。 当超过最大允许剪辑次数时,此值用于确定要删除的剪辑。 优先级越低,剪辑越有可能被停止并从其占用的混音器通道中移除。 有效范围是任意整数; 没有限制。 所有剪辑的默认优先级为零,直到更改为止。 可以播放的同时声音的数量是实现的,也可能取决于系统。
        另请参见:
        getPriority()setPriority(int)
    • 构造方法详细信息

      • AudioClip

        public AudioClip​(String source)
        从提供的源URL创建一个 AudioClip
        参数
        source - 从中加载音频剪辑的URL字符串。 这可以是HTTP,HTTPS,FILE或JAR源。
        异常
        NullPointerException - 如果参数是 null
        IllegalArgumentException - 如果参数违反了 RFC 2396
        MediaException - 加载媒体时是否还有其他问题。
    • 方法详细信息

      • getSource

        public String getSource​()
        获取用于创建此 AudioClip的源URL。
        结果
        源URL提供给构造函数
      • setVolume

        public final void setVolume​(double value)
        设置默认音量级别。 新设置只会在后续播放中生效。
        参数
        value - 此剪辑的新的默认音量级别
        另请参见:
        volume
      • getVolume

        public final double getVolume​()
        获取默认音量级别。
        结果
        此剪辑的默认音量级别
        另请参见:
        volume
      • volumeProperty

        public DoubleProperty volumeProperty​()
        剪辑播放的相对音量级别。 有效范围为0.0(静音)至1.0(全音量)。 值在内部被钳位到该范围,所以超出此范围的值将不会产生额外的影响。 音量由衰减控制,因此低于1.0的值将相应地降低声级。
        另请参见:
        getVolume()setVolume(double)
      • setBalance

        public void setBalance​(double balance)
        设置默认平衡级别。 新值只会影响后续的播放。
        参数
        balance - 新的默认余额
        另请参见:
        balance
      • getBalance

        public double getBalance​()
        获取此剪辑的默认平衡级别。
        结果
        此剪辑的默认余额
        另请参见:
        balance
      • balanceProperty

        public DoubleProperty balanceProperty​()
        剪辑的相对左右音量级别。 有效范围是-1.0到1.0,其中-1.0给左声道全音量,而右声道静音,0.0给两个声道全音量,而1.0则向右声道提供全音量并使左声道静音。 超出此范围的值在内部夹紧。
        另请参见:
        getBalance()setBalance(double)
      • setRate

        public void setRate​(double rate)
        设置默认回放速率。 新值只会影响后续的播放。
        参数
        rate - 新的默认播放速率
        另请参见:
        rate
      • getRate

        public double getRate​()
        获取默认播放速度。
        结果
        此剪辑的默认播放速率
        另请参见:
        rate
      • rateProperty

        public DoubleProperty rateProperty​()
        剪辑播放的相对速率。 有效范围为0.125(1/8速)至8.0(8倍速); 超出此范围的值在内部夹紧。 剪辑的正常播放为1.0; 任何其他费率将相应地影响音调和持续时间。
        另请参见:
        getRate()setRate(double)
      • setPan

        public void setPan​(double pan)
        设置默认的平移值。 新值只会影响后续的播放。
        参数
        pan - 新的默认平移值
        另请参见:
        pan
      • getPan

        public double getPan​()
        获取默认的平移值。
        结果
        该剪辑的默认平移值
        另请参见:
        pan
      • panProperty

        public DoubleProperty panProperty​()
        剪辑的相对“中心”。 平移值0.0为正常播放剪辑,其中-1.0平移将剪辑完全移动到左声道,并且1.0完全移动到右声道。 与平衡不同,此设置将两个通道混合,因此通道都不会丢失数据。 在单声道剪辑上设置平移与设置平衡具有相同的效果,但CPU开销成本高得多,因此不建议使用单声道剪辑。
        另请参见:
        getPan()setPan(double)
      • setPriority

        public void setPriority​(int priority)
        设置默认播放优先级。 新值只会影响后续的播放。
        参数
        priority - 新的默认播放优先级
        另请参见:
        priority
      • getPriority

        public int getPriority​()
        获取默认播放优先级。
        结果
        此剪辑的默认播放优先级
        另请参见:
        priority
      • priorityProperty

        public IntegerProperty priorityProperty​()
        剪辑相对于其他剪辑的相对优先级。 当超过最大允许剪辑次数时,此值用于确定要删除的剪辑。 优先级越低,剪辑越有可能被停止并从其占用的混音器通道中移除。 有效范围是任意整数; 没有限制。 所有剪辑的默认优先级为零,直到更改为止。 可以播放的同时声音的数量是实现的,也可能取决于系统。
        另请参见:
        getPriority()setPriority(int)
      • setCycleCount

        public void setCycleCount​(int count)
        设置默认循环计数。 新值只会影响后续的播放。
        参数
        count - 此剪辑的新默认循环计数
        另请参见:
        cycleCount
      • getCycleCount

        public int getCycleCount​()
        获取默认循环计数。
        结果
        该音频剪辑的默认cycleCount
        另请参见:
        cycleCount
      • play

        public void play​()
        使用所有默认参数播放 AudioClip
      • play

        public void play​(double volume)
        使用除卷外的所有默认参数播放AudioClip 此方法不会修改剪辑的默认参数。
        参数
        volume - 播放剪辑的音量级别
      • play

        public void play​(double volume,
                         double balance,
                         double rate,
                         double pan,
                         int priority)
        使用给定的参数播放AudioClip 由其关联属性指定的范围之外的值被夹紧。 此方法不会修改剪辑的默认参数。
        参数
        volume - 播放此剪辑的音量级别。 有效音量范围为0.0到1.0,其中0.0被有效地静音,1.0是满量程。
        balance - 立体声效果的左/右平衡或相对通道音量。
        rate - 播放速率倍增器。 1.0将以正常速率播放,而2.0将以一倍的速度播放。
        pan - 将左/右移位应用于剪辑。 平移值-1.0表示全左通道,1.0表示全通道,0.0表示无效。
        priority - 音频效果优先。 如果尝试同时播放太多效果,则优先级较低的效果将首先下降。
      • isPlaying

        public boolean isPlaying​()
        说明这个AudioClip是否在播放。 如果这返回true,那么play()已经被调用了至少一次,它仍在播放。
        结果
        如果任何混音器通道将此片段排队,则为真,否则为false
      • stop

        public void stop​()
        Immediately stop all playback of this AudioClip.