• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java AudioDevice类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中javazoom.jl.player.AudioDevice的典型用法代码示例。如果您正苦于以下问题:Java AudioDevice类的具体用法?Java AudioDevice怎么用?Java AudioDevice使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



AudioDevice类属于javazoom.jl.player包,在下文中一共展示了AudioDevice类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: close

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
 * Cloases this player. Any audio currently playing is stopped
 * immediately.
 */
public synchronized void close()
{
	AudioDevice out = audio;
	if (out != null)
	{
		closed = true;
		audio = null;
		// this may fail, so ensure object state is set up before
		// calling this method.
		out.close();
		lastPosition = out.getPosition();
		try
		{
			bitstream.close();
		}
		catch (BitstreamException ex)
		{}
	}
}
 
开发者ID:EndlessBot,项目名称:jLib,代码行数:24,代码来源:AdvancedPlayer.java


示例2: close

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
 * Closes this player. Any audio currently playing is stopped immediately.
 */
public synchronized void close() {
	AudioDevice out = audio;
	if (out != null) {
		closed = true;
		audio = null;
		// this may fail, so ensure object state is set up before
		// calling this method.
		out.close();
		lastPosition = out.getPosition();
		try {
			bitstream.close();
		} catch (BitstreamException ex) {
		}
	}
}
 
开发者ID:kuhnmi,项目名称:jukefox,代码行数:19,代码来源:AdvancedPlayer.java


示例3: close

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
 * Cloases this player. Any audio currently playing is stopped
 * immediately.
 */
public synchronized void close() {
    AudioDevice out = audio;
    if (out != null) {
        closed = true;
        audio = null;
        // this may fail, so ensure object state is set up before
        // calling this method.
        out.close();
        lastPosition = out.getPosition();
        try {
            bitstream.close();
        } catch (BitstreamException ex) {
        }
    }
}
 
开发者ID:BlkStormy,项目名称:epic-inventor,代码行数:20,代码来源:AdvancedPlayer.java


示例4: AdvancedPlayer

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
public AdvancedPlayer(InputStream stream, AudioDevice device) throws JavaLayerException
{
	bitstream = new Bitstream(stream);

	if (device!=null) audio = device;
	else audio = FactoryRegistry.systemRegistry().createAudioDevice();
	audio.open(decoder = new Decoder());
}
 
开发者ID:EndlessBot,项目名称:jLib,代码行数:9,代码来源:AdvancedPlayer.java


示例5: play

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
	 * Plays a number of MPEG audio frames.
	 *
	 * @param frames	The number of frames to play.
	 * @return	true if the last frame was played, or false if there are
	 *			more frames.
	 */
	public boolean play(int frames) throws JavaLayerException
	{
		boolean ret = true;

		// report to listener
		if(listener != null) listener.playbackStarted(createEvent(PlaybackEvent.STARTED));

		while (frames-- > 0 && ret)
		{
			ret = decodeFrame();
		}

//		if (!ret)
		{
			// last frame, ensure all data flushed to the audio device.
			AudioDevice out = audio;
			if (out != null)
			{
//				System.out.println(audio.getPosition());
				out.flush();
//				System.out.println(audio.getPosition());
				synchronized (this)
				{
					complete = (!closed);
					close();
				}

				// report to listener
				if(listener != null) listener.playbackFinished(createEvent(out, PlaybackEvent.STOPPED));
			}
		}
		return ret;
	}
 
开发者ID:EndlessBot,项目名称:jLib,代码行数:41,代码来源:AdvancedPlayer.java


示例6: decodeFrame

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
 * Decodes a single frame.
 *
 * @return true if there are no more frames to decode, false otherwise.
 */
protected boolean decodeFrame() throws JavaLayerException
{
	try
	{
		AudioDevice out = audio;
		if (out == null) return false;

		Header h = bitstream.readFrame();
		if (h == null) return false;

		// sample buffer set when decoder constructed
		SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h, bitstream);

		synchronized (this)
		{
			out = audio;
			if(out != null)
			{
				out.write(output.getBuffer(), 0, output.getBufferLength());
			}
		}

		bitstream.closeFrame();
	}
	catch (RuntimeException ex)
	{
		throw new JavaLayerException("Exception decoding audio frame", ex);
	}
	return true;
}
 
开发者ID:EndlessBot,项目名称:jLib,代码行数:36,代码来源:AdvancedPlayer.java


示例7: playClip

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
private void playClip(final String clipName, final PlayerID playerId) {
  if (beSilent || isMuted(clipName)) {
    return;
  }
  // run in a new thread, so that we do not delay the game
  String folder = clipName;
  if (playerId != null) {
    folder += "_" + playerId.getName();
  }

  final URI clip = loadClip(folder).orElse(loadClip(clipName).orElse(null));
  // clip may still be null, we try to load all phases/all sound, for example: clipName = "phase_technology", folder =
  // "phase_technology_Japanese"

  if (clip != null) {
    new Thread(() -> {
      try {
        final Optional<InputStream> inputStream = UrlStreams.openStream(clip.toURL());
        if (inputStream.isPresent()) {
          final AudioDevice audioDevice = FactoryRegistry.systemRegistry().createAudioDevice();
          new AdvancedPlayer(inputStream.get(), audioDevice).play();
        }
      } catch (final Exception e) {
        ClientLogger.logError("Failed to play: " + clip, e);
      }
    }).start();
  }
}
 
开发者ID:triplea-game,项目名称:triplea,代码行数:29,代码来源:ClipPlayer.java


示例8: AdvancedPlayer

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
public AdvancedPlayer(InputStream stream, AudioDevice device) throws JavaLayerException {
	bitstream = new Bitstream(stream);

	if (device != null)
		audio = device;
	else
		audio = FactoryRegistry.systemRegistry().createAudioDevice();
	audio.open(decoder = new Decoder());
}
 
开发者ID:kuhnmi,项目名称:jukefox,代码行数:10,代码来源:AdvancedPlayer.java


示例9: play

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
 * Plays a number of MPEG audio frames.
 * 
 * @param frames
 *            The number of frames to play.
 * @return true if the last frame was played, or false if there are more
 *         frames.
 */
public boolean play(int frames) throws JavaLayerException {
	boolean ret = true;

	// report to listener
	if (listener != null)
		listener.playbackStarted(createEvent(PlaybackEvent.STARTED));

	while (frames-- > 0 && ret) {
		ret = decodeFrame();
		currentPosition++;
		if (positionListener != null) {
			positionListener.onNewPosition(currentPosition);
		}
	}

	//		if (!ret)
	{
		// last frame, ensure all data flushed to the audio device.
		AudioDevice out = audio;
		if (out != null) {
			//				System.out.println(audio.getPosition());
			out.flush();
			//				System.out.println(audio.getPosition());
			synchronized (this) {
				complete = (!closed);
				close();
			}

			// report to listener
			if (listener != null)
				listener.playbackCompleted(createEvent(out, PlaybackEvent.STOPPED));
		}
	}
	return ret;
}
 
开发者ID:kuhnmi,项目名称:jukefox,代码行数:44,代码来源:AdvancedPlayer.java


示例10: decodeFrame

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
 * Decodes a single frame.
 * 
 * @return true if there are no more frames to decode, false otherwise.
 */
protected boolean decodeFrame() throws JavaLayerException {
	try {
		AudioDevice out = audio;
		if (out == null)
			return false;

		Header h = bitstream.readFrame();
		if (h == null)
			return false;

		// sample buffer set when decoder constructed
		SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h, bitstream);

		synchronized (this) {
			out = audio;
			if (out != null) {
				out.write(output.getBuffer(), 0, output.getBufferLength());
			}
		}

		bitstream.closeFrame();
	} catch (RuntimeException ex) {
		throw new JavaLayerException("Exception decoding audio frame", ex);
	}
	return true;
}
 
开发者ID:kuhnmi,项目名称:jukefox,代码行数:32,代码来源:AdvancedPlayer.java


示例11: AdvancedPlayer

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
public AdvancedPlayer(InputStream stream, AudioDevice device) throws JavaLayerException {
    bitstream = new Bitstream(stream);

    if (device != null) {
        audio = device;
    } else {
        audio = FactoryRegistry.systemRegistry().createAudioDevice();
    }
    audio.open(decoder = new Decoder());
}
 
开发者ID:BlkStormy,项目名称:epic-inventor,代码行数:11,代码来源:AdvancedPlayer.java


示例12: play

import javazoom.jl.player.AudioDevice; //导入依赖的package包/类
/**
     * Plays a number of MPEG audio frames.
     *
     * @param frames	The number of frames to play.
     * @return	true if the last frame was played, or false if there are
     *			more frames.
     */
    public boolean play(int frames) throws JavaLayerException {
        boolean ret = true;
        boolean firstTime = true;

        while (frames-- > 0 && ret) {
            ret = decodeFrame();
            if(firstTime) {
                // report to listener
                if (listener != null) {
                    listener.playbackStarted(createEvent(PlaybackEvent.STARTED));
                }
                firstTime = false;
            }
        }

//		if (!ret)
        {
            // last frame, ensure all data flushed to the audio device.
            AudioDevice out = audio;
            if (out != null) {
//				System.out.println(audio.getPosition());
                out.flush();
//				System.out.println(audio.getPosition());
                synchronized (this) {
                    complete = (!closed);
                    close();
                }

                // report to listener
                if (listener != null) {
                    listener.playbackFinished(createEvent(out, PlaybackEvent.STOPPED));
                }
            }
        }
        return ret;
    }
 
开发者ID:BlkStormy,项目名称:epic-inventor,代码行数:44,代码来源:AdvancedPlayer.java



注:本文中的javazoom.jl.player.AudioDevice类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SurfaceManagerFactory类代码示例发布时间:2022-05-21
下一篇:
Java ProgressListener类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap