小编Bri*_*den的帖子

使用Aubio实时采样音频,无需停止录制音频和视频iPhone/iPad

  • Swift 2.2
  • Xcode 7.3
  • Aubio 0.4.3(aubio-0.4.3~const.iosuniversal_framework)
  • iOS 9.3目标
  • 测试设备 - iPad Air
  • bufferSize:2048
  • numSamplesInBuffer:1024
  • 采样率:44100

注意事项:

  • 我故意在我即将发布的代码示例中留下AVCaptureVideo代码,以便任何人更简单地阅读我的问题都不会忘记我尝试使用相同的录制AvCaptureSession捕获音频和视频并实时采样音频
  • 我已经完全测试了Aubio - > Onset,特别是使用了sample.caf(核心音频格式)声音文件以及使用AvAudioRecorder保存到文件(也是.caf)的录音,它可以在真实设备上正常工作(iPad Air) ).Aubio在测试中工作的一个非常重要的考虑因素是我使用new_aubio_source创建了一个基于URI或文件的样本.在我的"真实"版本中,我试图在不将音频数据保存到文件的情况下对声音缓冲区进行采样.
  • 使用Aubio的可能替代方法.如果我可以开始将AudioBuffers存储为有效的核心音频格式(.caf)文件,Aubio会工作,不确定使用基于文件的解决方案是否足够快,但经过数天的研究后我还没想出如何存储func captureOutput(captureOutput: AVCaptureOutput, didOutputSampleBuffer sampleBuffer: CMSampleBufferRef, fromConnection connection: AVCaptureConnection)CmSampleBufferRefs提交.这包括使用NSData,它永远不会将有效的.caf存储到文件中.
  • 与之前的警告相关,我还没有找到一种方法来使用AvFoundation超级有用的对象,如AVAudioRecorder(它将存储一个很好的.caf文件),因为它取决于你停止录制/捕获会话.
  • 如果您删除所有视频捕获代码,您可以在模拟器上运行,请在下面评论,如果您希望您没有Apple设备,我将准备一个模拟器版本的代码.必须在实时设备上测试相机功能.

以下代码成功启动了音频和视频AVCaptureSession,AVCaptureSession委托func captureOutput(captureOutput: AVCaptureOutput, didOutputSampleBuffer sampleBuffer: CMSampleBufferRef, fromConnection connection: AVCaptureConnection)正在为音频和视频调用.当一个.提供音频CMSampleBufferRef示例我试图将该示例转换为AudioBuffer并传递给Aubio方法aubio_onset_do.我正在使用单例aubio_onset COpaquePointer.

在这段代码中,我尝试用两种不同的方式用音频缓冲区数据调用aubio_onset_do.

  1. 方法1 - 下面代码的当前方式是let useTimerAndNSMutableData = false.这意味着在我的prepareAudioBuffer函数中我将audioBuffer.mData传递给sampleAudioForOnsets.这种方法永远不会失败,但也没有检测到任何启动,我怀疑因为样本量不够大.
  2. 方法2如果let useTimerAndNSMutableData = truesampleAudioForOnsets每隔1秒调用一次最终调用,允许有时间使用AudioBuffer.mDatas构建NSMutableData.使用这种方法,我试图给aubio_onset_do一个足够大的样本来检测onsets,使用一个计时器和NSMutableData这个方法导致aubio_onset_do很快崩溃:

    (EXC_BAD_ACCESS(code = 1))

    import UIKit
    import AVFoundation
    
    class …
    Run Code Online (Sandbox Code Playgroud)

audio objective-c ios aubio swift

9
推荐指数
0
解决办法
712
查看次数

行号不正确 - sourcemaps,Webpack 2 Typescript

Chrome 59.0.3071.115和Firefox 54.0.1中会出现此问题

我一直在做很多关于尝试使用Webpack 2.2.1和我的Typescript源代码获取正确行号的研究open-browser-webpack-plugin.我尝试将devtool设置为以下不同选项:

    //https://webpack.js.org/configuration/devtool/
    //devtool: 'eval', //eval vert fast but line numbers will be wrong
    //devtool: 'eval-source-map', //starts off slow but fast rebuild speed and correct line numbers, supposedly, not correct line numbers for typescript
    //devtool: 'source-map', //very slow, for production, most accurate source maps
    //devtool: 'cheap-module-eval-source-map',
    //devtool: 'inline-source-map',
Run Code Online (Sandbox Code Playgroud)

devtool上面没有选项提供我的源代码的正确行号.

以下是Chrome F12工具中的一个示例,它与Webpack devtool选项"eval-source-map"相同,对于"cheap-module-eval-source-map"也是如此:

在此输入图像描述

这是正确的源代码文件,错误的行号: 在此输入图像描述

这里是Firefox错误的行号:

在此输入图像描述

这是login.component.ts,console.log("hello world");是第32行:

import { Component, OnDestroy, OnInit, EventEmitter, Input, Output } from '@angular/core';
import { …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome typescript webpack angular

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

Grunt构建导致Angular应用程序在dist上崩溃

我正在使用Grunt并执行cmd"grunt build"来创建包含AngularJS应用程序的分发文件夹.

作为一个独立的我的应用程序工作正常.一旦我为应用程序创建了一个分发版,应用程序就会很快崩溃.

我在F12 Tools Console中看到的是:

达到10 $ digest()次迭代.中止!

我怀疑我的.tmp目录中名为vendor.js的文件,并且由于控制器依赖注入变量错误地将注入的控制器参数(例如"$ scope")注入"a",因此无法正确缩小,uglify和/或连接此文件,即使我正在使用ngAnnotate.

看看我正在使用UglifyJs并在Uglify和Concat之前调用ngAnnotate但是我无法从useMinPrepare中删除UglifyJs,或者我还有其他错误,例如甚至没有在我的dist目录中创建脚本目录:

useminPrepare: {
  html: '<%= yeoman.app %>/index.html',
  options: {
    dest: '<%= yeoman.dist %>',
    flow: {
      html: {
        steps: {
          js: ['concat', 'uglifyjs'],
          css: ['cssmin']
        },
        post: {}
      }
    }
  }
},
Run Code Online (Sandbox Code Playgroud)

我在我的GruntJs文件中设置了mangle = false但是我怀疑useMinPrepare js: ['concat', 'uglifyjs']在调用ngAnnotate之前更改执行顺序并运行uglify useMin,即使我调用useMin之后也是如此ngAnnotate.

我是Grunt的新手,这个应用程序已经从另一个开发人员传递给我.

我发现这篇文章对我来说并不完全有意义,也不是一个似乎适用于我的Gruntfile.js的代码更改,但我想也许我正在做些什么:

https://github.com/DaftMonk/generator-angular-fullstack/issues/164

我已将Uglify mangle选项设置为false,但它没有解决我的问题.

这是我的Gruntfile.js代码:

  module.exports = function (grunt) {

    // Load grunt tasks automatically
    require('load-grunt-tasks')(grunt);

    // Time how long tasks take. Can help …
Run Code Online (Sandbox Code Playgroud)

javascript node.js angularjs bundling-and-minification

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

Firebase 实际上是否将 iOS Bundle ID 用于任何用途?

我只是尝试在 developer.apple.com 上为我的付费 Apple Developer 帐户创建一个新的 App Id。我尝试使用的 Bundle Id 已经被我以前的免费 Apple Developer 帐户占用,所以我不得不使用不同的 Bundle Id,我这样做了。

在我的 Xcode 项目中,我在我能找到的任何地方都更新了我的新 Bundle Id、项目设置、Info.plist 和用于 Google SDK 身份验证和授权的 GoogleService-Info.plist。我的应用程序使用 Firebase,我的应用程序仍然完全正确,我能够使用存储在 Firebase 数据库中的现有帐户登录并创建在 Firebase 中正确创建的新帐户。

然后我登录到 Firebase,我已经在我的应用程序中使用了一段时间,当我使用我的免费 Apple Developer 帐户时,我创建了这个 Firebase 项目。这个 Firebase 项目列出了我的 iOS 应用和旧的 Bundle Id: 在此处输入图片说明

无法在 Firebase Bundle Id 上编辑它,我必须在 Firebase 项目中创建一个新的 Firebase 应用程序,正如我在此处阅读的那样。

回顾一下,我已经在我的应用程序源代码中更改了我可以找到的任何地方的 Bundle Id 来更改它。我使用 Xcode 来清理和构建,我从我的测试设备中删除了该应用程序并重新安装,但一切仍然适用于 Firebase 后端。

我的问题是: Firebase 是否真的将 iOS Bundle Id 用于 Firebase 项目中应用程序的名称以外的任何其他内容?

objective-c ios firebase

8
推荐指数
0
解决办法
1192
查看次数

首先在EF代码中混合Fluent API和DataAnnotations

虽然我们主要使用流畅的配置来实现代码优先的POCO,但我们发现对表名,PK等使用数据注释很有用,因为它使得没有引用的非EF组件更容易使用到ObjectContext与这些实体进行交互.

根据我们的经验,似乎两种配置样式可以自由混合,流畅的配置覆盖DataAnnotations.这记录在哪里?这种混合配置有任何风险吗?

我们目前正在使用EF 4.3.1

c# entity-framework data-annotations ef-code-first entity-framework-4.3

7
推荐指数
2
解决办法
4818
查看次数

奇怪的构建错误.Net核心项目

安装在我的机器上是:

  • Visual Studio Pro 2015
  • Visual Studio 2015 Update 3
  • .NET Core 1.0.1工具预览2

注意:在Windows 10计算机和Windows 7计算机上发生构建错误,但构建在另一台Windows 7计算机上运行.

所以我从另一个开发人员克隆一个.Net Core项目,当我尝试在Visual Studio 2015中构建时,我收到了错误

"系统找不到Microsoft.DotNet.Common.Targets第262行中指定的文件"

转到C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets第262行中的第262行我看到

    <Dnx
  RuntimeExe="$(SDKToolingExe)"
  Condition="'$(_DesignTimeHostBuild)' != 'true'"
  ProjectFolder="$(MSBuildProjectDirectory)"
  Arguments="$(_BuildArguments)"
  />
Run Code Online (Sandbox Code Playgroud)

如果从Microsoft.DotNet.Common.Targets中删除此部分,则构建项目.

我知道dnx是旧的.Net Core工具,我的猜测是project.json中的类库是遗留给旧的dnx工具和我安装的新的1.0.1 Preview 2 .Net Core工具是推迟了那个遗产project.json进入Microsoft.DotNet.Common.Targets中的旧dnx工具条目,但由于我没有安装dnx工具,构建失败,当然,这只是猜测.

我已经在网上大量搜索关于这个问题,我发现了一篇文章,说明投入"type": "platform"Microsoft.NETCore.App依赖性在project.json但我没有使用依赖,我尝试添加"type": "platform"到我的"NETStandard.Library"依赖,但没有帮助,这是我的project.json:

{
  "version": "1.0.1-*",

  "dependencies":
  {
    "Microsoft.AspNetCore.Mvc.Abstractions": "1.1.0",
    "Microsoft.AspNetCore.Mvc.Core": "1.1.0",
    "NETStandard.Library": "1.6.1",
    "TSO.ProductItemList.Model": "1.0.2"
  },

  "frameworks":
  {
    "netstandard1.6":
    {
      "imports": "dnxcore50"
    }
  },

  "scripts":
  {
    "postcompile":
    [ …
Run Code Online (Sandbox Code Playgroud)

.net c# visual-studio .net-core asp.net-core

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

添加以UIImageView为中心的CALayer子图层

  • Xcode 7.2
  • 斯威夫特2

我试图用我称之为"BlurFilterMask"的图像覆盖图像.这是我用Swift Code动态添加的CALayer,这里是BlurFilterMask:

class BlurFilterMask : CALayer {

    private let GRADIENT_WIDTH : CGFloat = 50.0

    var origin : CGPoint = CGPointZero {
        didSet {
            setNeedsDisplay()
        }
    }

    var diameter : CGFloat = 50.0 {
        didSet {
            setNeedsDisplay()
        }
    }

    override init() {
        super.init()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func drawInContext(ctx: CGContext) {
         CGContextSaveGState(ctx)

        let clearRegionRadius : CGFloat  = self.diameter * 0.5
        let blurRegionRadius : CGFloat  = clearRegionRadius + GRADIENT_WIDTH

        let …
Run Code Online (Sandbox Code Playgroud)

iphone xcode uiimageview ios swift

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

.Net Core忽略环境变量DOTNET_SKIP_FIRST_TIME_EXPERIENCE

显然,通过设置环境变量可以节省一些进行 .NET Core 构建的时间DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true。我发现 CentOS 7 和 Debian Jessie Linux 发行版上并非如此。

我有一个 Jenkins 从 Docker 镜像,Jenkins 使用它来构建 .NET Core 服务,我的镜像标签是jenkins.slave.dotnet.image.

Jenkins Docker 插件用于jenkins.slave.dotnet.image在触发构建时启动从属容器。Jenkins Docker 插件可以访问其所在的 Docker 主机jenkins.slave.dotnet.image

在我的 Dockerfile 中,jenkins.slave.dotnet.image我设置环境变量,如下所示:

ENV NUGET_XMLDOC_MODE skip
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE true
Run Code Online (Sandbox Code Playgroud)

一切正常,除了这些环境变量被dotnet命令忽略之外,请参阅 .NET Core 服务的 Jenkins 构建的输出,如果cmdDOTNET_SKIP_FIRST_TIME_EXPERIENCE=true检查环境变量,您不应该在图像中看到带圆圈的文本dotnet

在此输入图像描述

连接 ( docker exec -it jenkins.slave.dotnet.container bash) 到使用的容器,jenkins.slave.dotnet.image您可以看到 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 已正确设置为“true”:

在此输入图像描述

dotnet --info 的输出:

在此输入图像描述

这是我的 Jenkins Slave Docker 映像 …

.net c# linux jenkins .net-core

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

Babel 不转译 npm 链接/符号链接包源代码

我正在使用 node.js 设置共享模块环境。这是我的目录结构:

project
 |--common
 |    |--package.json
 |    |--graphql
 |          |----schema.js
 |
 |--server
     |--package.json
     |--server.js
Run Code Online (Sandbox Code Playgroud)

链接两个项目:

$ cd project\common
$ npm link
Run Code Online (Sandbox Code Playgroud)

然后:

$ cd ../server
$ npm link common
Run Code Online (Sandbox Code Playgroud)

common Package.json 文件:

{
  "name": "common",
  "private": true,
  "version": "3.0.0",
  "description": "Common code for all projects",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Me",
  "license": "MIT"
}
Run Code Online (Sandbox Code Playgroud)

server package.json 文件:

{
  "name": "server",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "start": "concurrently \"babel-node …
Run Code Online (Sandbox Code Playgroud)

javascript node.js npm webpack babeljs

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

Lazy Loaded Modules with AOT - TypeError: '' is not a function when served from NGINX

Here are my dist files to reproduce yourself:

The breakdown:

  • My dist build, with AOT and Lazy Loaded modules works fine when served with npm packages webpack-dev-server or live-server
  • It is only when I copy dist to NGINX html directory and NGINX serves the files that I see Javascript errors in Firefox and Chrome
  • I have tried many different webpack configurations.
  • I am …

aot typescript webpack angular

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