是否有任何便携式开源库支持基于样本的合成并封装生成和混合简单的PCM?
我真的需要一些简约的东西,并与操作系统的音频输出机制分离.
我在网上搜索过但没有发现任何有趣的东西.也许我做错了什么.
我正在寻找用C,C++甚至Objective-C编写的声音合成API,它可以合成不同类型的波,效果是可选的.
在您阅读之前,这里有一些关于问题的澄清:
new JDialog(someWindow).重影可被固定在SSCCE 通过简单地改变该行到[...]new JDialog().为什么顶级窗户没有重影?
预期行为:( final JDialog d = new JDialog()见SSCCE)

如您所见,右侧窗口具有半透明背景(如预期的那样).
实际行为:( final JDialog d = new JDialog(f)见SSCCE)

在这种情况下,右侧窗口具有不透明背景.事实上,由于任何原因(最容易重现,在翻转时重新绘制)需要3-4次重绘,以使背景变得完全不透明.
SSCCE:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.plaf.synth.ColorType;
import javax.swing.plaf.synth.Region;
import javax.swing.plaf.synth.SynthConstants;
import javax.swing.plaf.synth.SynthContext;
import javax.swing.plaf.synth.SynthLookAndFeel;
import javax.swing.plaf.synth.SynthPainter;
import javax.swing.plaf.synth.SynthStyle;
import javax.swing.plaf.synth.SynthStyleFactory;
public class SynthSSCCE
{
public static void main(String[] …Run Code Online (Sandbox Code Playgroud) 我已经调查了很多地方,并且听到了许多可疑的主张,不论在哪里都PreparedStatement应该是首选Statement,即使只是为了表现的好处; 一直到声称PreparedStatements应该专门用于批处理语句,而不是其他任何东西.
但是,我所遵循的(主要是在线)讨论似乎存在盲点.让我提出一个具体的方案.
我们有一个EDA设计的应用程序和数据库连接池.事件来了,其中一些需要持久性,一些则不需要.一些是人工生成的(例如,每隔X分钟更新/重置一次).有些事件是顺序处理的,但其他类型的事件(也需要持久性)可以(并且将会)同时处理.
除了那些人工生成的事件之外,没有关于需要持久性的事件如何到来的结构.
这个应用程序是在很久以前设计的(大约是2005年),并且支持多个DBMS.典型的事件处理程序(需要持久性):
如果事件需要批处理,则语句将准备一次并使用addBatch/ executeBatch方法.这是一个明显的性能优势,这些情况与此问题无关.
最近,我收到一个意见,即准备(解析)一个语句,执行一次和关闭本质上是一种滥用的整个想法PreparedStatement,无论是否使用服务器或客户端预处理语句以及典型的DBMS,都提供零性能优势(Oracle,DB2,MSSQL,MySQL,Derby等)甚至不会将这样的语句提升到预处理语句缓存(或者至少,它们的默认JDBC驱动程序/数据源不会).
此外,我不得不在MySQL的开发环境中测试某些场景,似乎Connector/J使用分析器同意这个想法.对于所有非批处理的预处理语句,调用close()print:
PreparedStatement created, but used 1 or fewer times. It is more efficient to prepare statements once, and re-use them many times
由于前面概述的应用程序设计选择,拥有一个PreparedStatement实例缓存来保存连接池中每个连接的任何事件使用的每个单独的SQL语句听起来都是一个糟糕的选择.
有人可以进一步详细说明吗?逻辑"准备 - 执行(一次) - 关闭"是否存在缺陷并且基本上不鼓励?
PS显式指定useUsageAdvisor=true和cachePrepStmts=true用于连接器/ J,并使用两种useServerPrepStmts=true或useServerPrepStmts=false打电话时仍然导致警告有关效率close()上PreparedStatement的情况下,每一个非成批的SQL语句.
我已经在某个服务器类型的应用程序上工作了一段时间,我发现它的设计挑战了我在 Java 中看待内存一致性(可以这么说)的方式。
\n\n该应用程序使用 NIO,因此 I/O 线程数量有限(它们只执行网络 I/O,不执行其他操作;它们永远不会终止,但可能会被阻塞以等待更多工作)。
\n\nClientCon每个连接在内部都表示为特定类型的对象,在本示例中我们称其为特定类型的对象。ClientCon有各种与会话相关的字段,这些字段都不是易失性的。不存在与获取/设置这些字段的值相关的任何类型的同步。
接收到的数据由具有固定最大大小的逻辑单元组成。每个这样的单元都有一些允许决定处理类型(类)的元数据。一旦完成,就会创建该类型的新对象。所有此类处理程序都有字段,但这些字段都不是易失性的。然后,I/O 线程(为每个线程分配一个具体的 I/O 线程ClientCon)protected在新处理程序对象上调用剩余缓冲区内容(在读取元数据之后)的 read 方法。
之后,相同的处理程序对象被放入一个特殊的队列中,然后将该队列(队列)提交给线程池执行(其中调用每个处理程序的 run 方法以根据读取的数据采取操作)。对于这个例子,我们可以说 TP 线程永远不会终止。
\n\n因此,TP 线程将获得它以前从未访问过的对象。该对象的所有字段都是非易失性的(并且大多数/全部都是非最终的,因为它们是在构造函数外部修改的)。
\n\n处理程序的运行方法可以基于会话特定字段进行操作,ClientCon也可以设置它们和/或对处理程序对象自己的字段进行操作,这些字段的值在读取方法中设置。
根据 CPJ(Java 并发编程:设计和原理):
\n\n\n\n\n\n\n线程第一次访问对象的字段时,它会看到该字段的初始值或自其他线程写入以来的值。
\n
class FinalFieldExample { \n final int x;\n int y; \n static FinalFieldExample f;\n\n public FinalFieldExample() {\n x = 3; \n …Run Code Online (Sandbox Code Playgroud) 我想做的事:
创建一个JPanel子类,在包含的组件之上绘制一个简单的叠加层.
我为什么不用JLayeredPane?
见JComponent#isOptimizedDrawingEnabled().
当a JMenu中存在a时JFrame,JPanel使用重写paintChildren(Graphics)方法添加a 时,在传递的Graphics对象中提供了不正确的坐标起点,如此代码示例所示:
import java.awt.Color;
import java.awt.FontMetrics;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public final class Sscce {
public static void main(String[] args) {
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
// a normal frame
JFrame f = new JFrame();
// set up a simple menu
JMenuBar mb = new …Run Code Online (Sandbox Code Playgroud) 通过打开NTFS文件数据流时,是否可以在路径名中指定流偏移量CreateFile?
如果pathname以\\?\?开头怎么办?
例如,abcd.txt::$DATA指定未命名流*的偏移量0; 是否可以在路径名**中指定不同的偏移量?
*从技术上讲,这也意味着偏移量等于流长度,以防WriteFile附加**而不使用SetFilePointer