我正在尝试使用AudioTrack生成正弦波,方波和锯齿波.然而,这个创建的音频听起来并不像纯正弦波,但是它有一些其他的波形覆盖.在第一个例子中使用方法时,我将如何获得纯正弦波,就像在第二个代码示例中那样?由于顶部示例仅围绕第二个中使用的某些算法移动,它们不应该产生相同的波吗?
@Override
protected Void doInBackground(Void... foo) {
short[] buffer = new short[1024];
this.track = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize, AudioTrack.MODE_STREAM);
float samples[] = new float[1024];
this.track.play();
while (true) {
for (int i = 0; i < samples.length; i++) {
samples[i] = (float) Math.sin( (float)i * ((float)(2*Math.PI) * frequency / 44100)); //the part that makes this a sine wave....
buffer[i] = (short) (samples[i] * Short.MAX_VALUE);
}
this.track.write( buffer, 0, samples.length ); //write to the audio buffer.... and start all over …Run Code Online (Sandbox Code Playgroud) 这两个代码片段在内存使用和性能/开销方面有什么区别吗?
final float xPos = (CAMERA_WIDTH / 2) - (mSprite.getWidth() / 2);
final float yPos = (CAMERA_HEIGHT / 2) - (mSprite.getHeight() / 2);
mSprite.setPosition(xPos, yPos);
Run Code Online (Sandbox Code Playgroud)
和另一个案例:
mSprite.setPosition(((CAMERA_WIDTH / 2) - (mSprite.getWidth() / 2)), ((CAMERA_HEIGHT / 2) - (mSprite.getHeight() / 2)));
Run Code Online (Sandbox Code Playgroud)
我能看到的唯一区别是第一个片段是将变量存储在我认为与第二个片段不同的内存区域中,但我对Java内存分配并不是很熟悉(我更像是一个C/C++人).
我的问题是:这种或那种方式有什么好处吗?final在第一个示例中使用关键字是否会影响它?
谢谢!
所以我在控制器中有对象$ this-> data ['VideoForm'] ['filename'],但我想在将它保存到数据库之前将getExtension($ filename)的返回值附加到它.这就是我的尝试:
$this->data['VideoForm']['filename'] = $this->data['VideoForm']['filename'] . "." . getExtension($this->data['VideoForm']['file']['name']);
Run Code Online (Sandbox Code Playgroud)
当我尝试使用"="或"=>"运算符为其分配新值时,它会引发错误.知道怎么做吗?我确信这很简单,我很想念......
编辑:这是错误:
Notice (8): Indirect modification of overloaded property MediaController::$data has no effect [APP/Controller/MediaController.php, line 31]
Run Code Online (Sandbox Code Playgroud)
编辑:我继续环顾四周,如果我上传xxx.jpg,getExtension()函数肯定会返回"jpg",所以这不是问题所在.有任何想法吗?
我正在尝试一个功能,当按下按钮时,我的视图中会添加一个布局.EditText布局中的2 秒ID 被添加到a中List<EditText>,因此无论添加多少XML布局实例,我都可以访问它们.但是,我正在努力解决这个问题.
设置视图的主要功能:
ViewGroup view = null;
TextView addressView;
Button submit;
ImageView addHeader;
private int id = 0;
private List<EditText> editTexts = new ArrayList<EditText>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.get);
view = (ViewGroup) findViewById(R.id.getLayout);
addressView = (TextView) view.findViewById(R.id.getAddress);
submit = (Button) view.findViewById(R.id.getSubmit);
addHeader = (ImageView) view.findViewById(R.id.getHeaderAdd);
addHeader.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
addHeaderBox();
}
});
Run Code Online (Sandbox Code Playgroud)
我的功能添加布局:
private void addHeaderBox() {
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.get_param, view, false);
EditText nameBox …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试使用内置的相机活动来使用以下代码录制视频:
Intent videoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
videoIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileURI);
videoIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);
startActivityForResult(videoIntent, VIDEO_ACTIVITY);
Run Code Online (Sandbox Code Playgroud)
在调试期间,fileURI的值为:file:///mnt/sdcard/Spootur/Videos/c14e0eb2-0737-4931-9898-e85d10bab74e.mp4,videoIntent的mExtras值为:
Bundle[{output=file:///mnt/sdcard/Spootur/Videos/c14e0eb2-0737-4931-9898-e85d10bab74e.mp4, android.intent.extra.durationLimit=60}]
Run Code Online (Sandbox Code Playgroud)
当我开始录制时,它很好,但当我重新点击录制按钮停止录制时,相机应用程序会抛出:
05-11 01:08:11.325: E/AndroidRuntime(3748): at com.sec.android.app.camera.CamcorderEngine.renameTempFile(CamcorderEngine.java:1352)
05-11 01:08:11.325: E/AndroidRuntime(3748): at com.sec.android.app.camera.CamcorderEngine.doStopVideoRecordingSync(CamcorderEngine.java:849)
05-11 01:08:11.325: E/AndroidRuntime(3748): at com.sec.android.app.camera.CeStateRecording.handleRequest(CeStateRecording.java:69)
05-11 01:08:11.325: E/AndroidRuntime(3748): at com.sec.android.app.camera.CeRequestQueue.startFirstRequest(CeRequestQueue.java:123)
05-11 01:08:11.325: E/AndroidRuntime(3748): at com.sec.android.app.camera.CeRequestQueue.access$200(CeRequestQueue.java:32)
05-11 01:08:11.325: E/AndroidRuntime(3748): at com.sec.android.app.camera.CeRequestQueue$MainHandler.handleMessage(CeRequestQueue.java:60)
Run Code Online (Sandbox Code Playgroud)
有什么可能导致这种情况以及如何解决这个问题的想法?谢谢!
另外:我可以确认录制的视频文件是否在该URI.
我正在尝试GET使用HttpClient,但我一直在发送请求IllegalStateException.知道是什么导致了这个吗?我一直在寻找解决方案,但我没有"host=null"在日志中得到它意味着什么.如何设置主机,它与路径有何不同?这是我的logcat:
07-17 11:54:18.002: W/System.err(15422): java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=google.com
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:591)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:293)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.AbstractHttpClient$1.executeRequestSending(AbstractHttpClient.java:609)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.naf.redirect.NafRequestExecutorWrapperRedirectionHandler.executeRequestSendingUsual(NafRequestExecutorWrapperRedirectionHandler.java:96)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.naf.redirect.NafRequestExecutorWrapperRedirectionHandler.executeRequestSending(NafRequestExecutorWrapperRedirectionHandler.java:73)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.naf.auth.NafHttpAuthStrategyDefault.sendFirstRequest(NafHttpAuthStrategyDefault.java:487)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.naf.auth.NafHttpAuthStrategyDefault.performAuthExecutionUnsafe(NafHttpAuthStrategyDefault.java:388)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.naf.auth.NafHttpAuthStrategyDefault.performAuthExecution(NafHttpAuthStrategyDefault.java:200)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:558)
07-17 11:54:18.002: W/System.err(15422): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:508)
07-17 11:54:18.002: W/System.err(15422): at …Run Code Online (Sandbox Code Playgroud) 我的 Postgres 表架构有两个字段:
items,其中包含(整数)项 ID 的数组。如果相同的 ID 在数组中出现两次,则将其视为主要项。
primary_items,我刚刚添加到架构中的另一个(整数)项目 ID 数组,因此它目前在所有行中都是空的。
我需要做的是:对于每一行,检查 中是否有重复的 ID items,如果有,将每个重复 ID 中的一个放入该primary_items字段。
知道如何通过查询来解决这个问题吗?理想情况下,我不必编写帮助程序 (Nodejs) 来执行此操作,但如果需要,我可以。
例子:
当前:
documents_table
items primary_items
------------ -----------
{1, 2, 2, 4} {}
{1, 2, 3} {}
{3, 3} {}
{5, 4, 5, 4} {}
Run Code Online (Sandbox Code Playgroud)
期望:
documents_table
items primary_items
------------ -----------
{1, 2, 2, 4} {2}
{1, 2, 3} {}
{3, 3} {3}
{5, 4, 5, 4} {5,4}
Run Code Online (Sandbox Code Playgroud)