现在我正在从SQLite迁移到Postgresql,我遇到了这个问题.以下准备好的语句适用于SQLite:
id = 5
st = ActiveRecord::Base.connection.raw_connection.prepare("DELETE FROM my_table WHERE id = ?")
st.execute(id)
st.close
Run Code Online (Sandbox Code Playgroud)
不幸的是它不能与Postgresql一起使用 - 它在第2行引发了一个例外.我一直在寻找解决方案并遇到了这个:
id = 5
require 'pg'
conn = PG::Connection.open(:dbname => 'my_db_development')
conn.prepare('statement1', 'DELETE FROM my_table WHERE id = $1')
conn.exec_prepared('statement1', [ id ])
Run Code Online (Sandbox Code Playgroud)
这个在第3行失败.当我打印这样的异常时
rescue => ex
Run Code Online (Sandbox Code Playgroud)
ex包含这个
{"connection":{}}
Run Code Online (Sandbox Code Playgroud)
在命令行中执行SQL是有效的.知道我做错了什么吗?
提前致谢!
sql postgresql ruby-on-rails prepared-statement ruby-on-rails-3
我在gradle/android studio中使用Product Variants来实现以下项目设置:
在我试图实现这个(占位符,多个清单)时,我已经遵循了多个教程,但没有任何作用.
在本教程之后,我做了以下工作:http: //www.kevinrschultz.com/blog/2014/03/23/using-android-content-providers-with-multiple-package-names/
我的build.gradle:
android {
compileSdkVersion 19
buildToolsVersion '20'
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
app1 {
packageName "com.test.app1"
//applicationId "com.test.app1"
}
app2 {
packageName "com.test.app2"
//applicationId "com.test.app2"
}
}}
Run Code Online (Sandbox Code Playgroud)
在这里我的清单文件.
的src/main /清单:
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
<application>
</application>
Run Code Online (Sandbox Code Playgroud)
SRC/APP1 /清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name="com.test.app1”
android:allowBackup="true" …
Run Code Online (Sandbox Code Playgroud) 我是ruby和rails的新手,到目前为止,我设法使用devise设置用户管理.现在我正在尝试集成对移动Android和iOS应用程序的支持.到目前为止,他们可以登录并注销并获取身份验证令牌.但除此之外,我还希望他们能够注册.
现在,据我了解,我必须做一个帖子
http://localhost:3000/users/sign_up
Run Code Online (Sandbox Code Playgroud)
这篇文章怎么样?我如何获得JSON响应?我在stackoverflow上找到了这个.
"utf8=?&authenticity_token=n5vXMnlzrXefnKQEV4SmVM8cFdHDCUxMYWEBMHp9fDw%3D&user[email]=asd%40fasd.org&user[password]=321&user[password_confirmation]=1233&commit=Sign+up"
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用 - 我收到消息"Bad request".关于这个例子,我也有几个问题.什么是authenticity_token?我怎么得到一个?这不是我想的设计令牌认证,因为用户此时甚至不能拥有一个.
此外,在成功登录后,我想将"注册成功"消息与生成的设计认证令牌捆绑在一起.所以我想我必须以某种方式扩展设计现有的注册控制器.
非常感谢你提前!
如何在Ubuntu 12.04 LTS下通过shell命令获取麦克风的当前音频输入电平?
我检查了amixer来设置音量,但是在shell调用时找不到获取音频输入电平的方法.
先感谢您!
我正在尝试将视频流(来自我的网络摄像头)存储到MKV和FLV文件中.这意味着我必须在h264编码后拆分视频和音频管道,并使用不同的复用器复用每个路径.
这就是我想象它应该如何工作:
|->queue->matroskamux->filesink
v4l2src->videorate->videoscale->x264enc->tee-|
|->queue->flvmux->filesink
Run Code Online (Sandbox Code Playgroud)
这个假设是否正确?所有队列都在正确的位置吗?这样的GStreamer命令怎么样?我对"T恤"的概念特别麻烦.在命令中如何/在何处启动它们以及如何操纵不同的Tee-Path.我在GStreamer文档中查找了"Tee",但我仍然遇到了应用它们的麻烦.
提前致谢!
编辑:好的,感谢mreithub,我让它为视频工作.这就是命令现在的样子:
gst-launch-0.10 -v -m v4l2src ! videorate ! videoscale ! ffmpegcolorspace ! x264enc ! tee name=muxtee ! queue2 ! matroskamux name=mkvmux ! filesink location=file1.mkv muxtee. ! queue ! flvmux name=flvmux ! filesink location=file1.flv
Run Code Online (Sandbox Code Playgroud)
这是我试图让音频运行:
gst-launch-0.10 -v -m v4l2src ! videorate ! videoscale ! ffmpegcolorspace ! x264enc ! tee name=muxtee ! queue2 ! matroskamux name=mkvmux pulsesrc ! ffenc_aac ! filesink location=file1.mkv muxtee. ! queue ! flvmux name=flvmux pulsesrc ! ffenc_aac ! filesink location=file1.flv
Run Code Online (Sandbox Code Playgroud)
这不起作用(命令执行但立即停止 …
我根据这些说明安装了 GStreamer-0.10 和所有模块(基本、好的、坏的、丑陋的、ffmpeg)(点击上一页/下一页浏览):http : //www.linuxfromscratch.org/blfs/view/svn/multimedia /gst-plugins-ugly.html
一切似乎都运行得很好,但是当我想执行我的管道时,我收到了这个错误:
glib.GError: no element "x264enc"
Run Code Online (Sandbox Code Playgroud)
显然没有安装模块:
gst-inspect x264enc
No such element or plugin 'x264enc'
Run Code Online (Sandbox Code Playgroud)
之后,我通过执行安装了编解码器:
sudo apt-get install x264
Run Code Online (Sandbox Code Playgroud)
这也不起作用。所以我手动安装了最新版本:http : //www.videolan.org/developers/x264.html
成功安装 x264 后,我再次在 gstreamer-0.10 丑陋模块上运行 ./configure 并发现了这一点:
configure: *** checking feature: x264 plug-in ***
configure: *** for plug-ins: x264 ***
checking for X264... no
configure: No package 'x264' found
configure: *** These plugins will not be built: x264
configure: creating ./config.status
Run Code Online (Sandbox Code Playgroud)
检查 x264 是否可用似乎已满:
which x264
/usr/local/bin/x264
Run Code Online (Sandbox Code Playgroud)
我正在使用 ubuntu 服务器 …
我试图将以下GStreamer命令移植到python程序中:
gst-launch-0.10 -v -m v4l2src ! queue ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=1536 tune=zerolatency ! queue ! flvmux name=mux pulsesrc ! queue max-size-bytes=134217728 max-size-time=20000000000 max-size-buffers=1000 ! audioconvert ! lame ! audio/mpeg ! queue ! mux. mux. ! queue ! rtmpsink location='rtmp://x.x.x.x/live/myStream'
Run Code Online (Sandbox Code Playgroud)
使用此命令,可以在流式传输到wowza服务器时记录和观看实时流.但我有一些麻烦将此命令移植到python.特别是RTMP接收器似乎会引起麻烦(因为它正在使用filesink):
self.pipeline = gst.Pipeline("diepipeline")
self.src = gst.parse_launch("v4l2src")
self.pipeline.add(self.src)
self.videoenc = make_bin("(name=videoenc queue ! ffmpegcolorspace ! queue ! x264enc pass=pass1 threads=0 bitrate=1536 tune=zerolatency ! queue )")
self.pipeline.add(self.videoenc)
self.audio2src = gst.parse_launch("pulsesrc")
self.pipeline.add(self.audio2src)
self.audio2 = make_bin("(name=audio2 queue max-size-bytes=134217728 max-size-time=20000000000 …
Run Code Online (Sandbox Code Playgroud) 我正在使用PulseAudio API"实时"获取当前的麦克风输入.缓冲区数据作为16位小端字节数组传送.我想要做的是找出缓冲区中的最大峰值水平并将其转换为分贝值.为此,我必须将每个两个字节的数组值转换为一个整数值.在同一个循环过程中,我也在寻找最大值.之后,我将最大值转换为分贝值.这是C代码:
static ssize_t loop_write(int fd, const uint8_t *data, size_t size)
{
int newsize = size / 2;
uint16_t max_value = 0;
int i = 0;
for (i = 0; i < size; i += 2)
{
// put two bytes into one integer
uint16_t val = data[i] + ((uint32_t)data[i+1] << 8);
// find max value
if(val > max_value)
max_value = val;
}
// convert to decibel
float decibel = max_value / pow(2, 15);
if(decibel != 0)
decibel = 20 …
Run Code Online (Sandbox Code Playgroud)