小编prg*_*lop的帖子

有没有一种方法可以比 DTX 更好地优化 Opus 中的静音期?

我正在对 Opus 中的 DTX 选项进行一些研究:

不连续传输 (DTX) 可在静音或背景噪音期间降低比特率。启用 DTX 后,每 400 毫秒仅编码一帧。

我想知道是否有一种简单的方法可以让 Opus 在整个静音期间只对一帧进行编码,而不是每 400 毫秒编码一次无用的静音帧?

我想在无声或非语音活动期间产生“绝对”静音并最小化标题的开销,因此基本上安静的录音将产生一个几乎空的文件。

如果有其他编解码器可以做到这一点,我很高兴听到他们的消息。

compression audio codec voice-recording opus

12
推荐指数
1
解决办法
1051
查看次数

有没有办法用PyCharm捕获unittest异常?

python unittest运行器处理所有异常.我想用我的调试器来捕获它们.

有没有办法让我的unittest跑步者重新提高测试异常以终止进程?我想自己处理它们.

编辑:找到解决方案.

您可以创建unittest.TestSuite并调用debug()来运行要调试的测试 - 包括使用调试器捕获异常!

使用此模式可以轻松完成:

import unittest

class DebuggableTestCase(unittest.TestCase):
    @classmethod
    def debugTestCase(cls):
        loader = unittest.defaultTestLoader
        testSuite = loader.loadTestsFromTestCase(cls)
        testSuite.debug()

class MyTestCase(DebuggableTestCase):
    def test_function_that_fails(self):
        raise Exception('test')

if __name__ == '__main__':
    MyTestCase.debugTestCase()
Run Code Online (Sandbox Code Playgroud)

python debugging unit-testing exception pycharm

11
推荐指数
1
解决办法
2140
查看次数

PyQt - 从另一个线程修改GUI

我正在尝试从另一个线程修改我的主要布局.但函数run()永远不会被调用,我有错误:

QObject :: setParent:无法设置父级,新父级位于不同的线程中

这是我的代码:

class FeedRetrievingThread(QtCore.QThread):
    def __init__(self, parent=None):
        super(FeedRetrievingThread, self).__init__(parent)
        self.mainLayout = parent.mainLayout
    def run(self):
        # Do things with self.mainLayout

class MainWindow(QtGui.QDialog):
    def __init__(self, parent=None):  
        super(MainWindow, self).__init__(parent)
        self.mainLayout = QtGui.QGridLayout() 
        self.setLayout(self.mainLayout)  
        self.feedRetrievingThread = FeedRetrievingThread(self)
        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.updateFeed)
        self.timer.start(1000)

    def updateFeed(self):
        if not self.feedRetrievingThread.isRunning():
            print 'Running thread.'
            self.feedRetrievingThread.start()

if __name__ == '__main__':  
    app = QtGui.QApplication(sys.argv)  
    mainWindow = MainWindow()  
    mainWindow.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

我真的不明白,为什么用PyQt访问GUI这么困难?在C#中你有Invoke.PyQt中有类似的东西吗?

我尝试直接从MainWindow.__init__(不使用计时器)创建线程,但它也没有工作.

python user-interface multithreading pyqt

4
推荐指数
1
解决办法
4327
查看次数

当我的对象在C++的右侧时,如何重载操作符*?

我想实现"operator*"重载INSIDE我的类,所以我将能够执行以下操作:

Rational a(1, 2), b;
b = 0.5 * a; // b = 1/4
Run Code Online (Sandbox Code Playgroud)

请注意,b在右侧,是否有办法 "Rational"类中执行此类操作?

c++ overloading operator-keyword

3
推荐指数
2
解决办法
3282
查看次数

如何在C++中为每个类初始化返回相同的实例?

我想创建一个只能有一个实例的类.如果我尝试创建该类的另一个实例,它将返回第一个实例.

c++ oop class instance

2
推荐指数
1
解决办法
387
查看次数

为什么文件中数组的二进制保存有效?[C++]

C++新手在这里.

我试图找出将缓冲区写入文件的以下行:

fOut.write((char *)&_data, sizeof(_data));
Run Code Online (Sandbox Code Playgroud)

_data =整数数组...

我有一些问题:

  1. &_data地址数组的第一个元素?
  2. 无论它是什么地址,这是否意味着我们只保存数组的地址?那么为什么我在释放之后仍然可以访问阵列?
  3. 我不应该通过sizeof(_data)*arrLength吗?传递int的大小(在本例中)是什么意思而不是整个数组的大小?
  4. char*在处理地址时铸成什么意味着什么?

我真的很感激一些澄清.

c++ arrays binary export file

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

为什么指针在64位和32位系统中保持相同的大小?

我最近在我的计算机上安装了64位操作系统,我认为这样sizeof(char*)会给我8而不是4.我不应该在指针中获得64位地址吗?

pointers 32bit-64bit

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