小编unw*_*osu的帖子

Swift Video Resizer AVAsset

我有这段代码可以将视频的大小从 1280 x 720 调整为 640 x 360 但我想要一个不裁剪的调整大小。

有没有办法完全调整不裁剪的大小?

这是代码

class func resizer(inputURL : NSURL , completion: (outPutURL : NSURL?) -> Void ){
        let videoAsset = AVAsset(URL: inputURL) as AVAsset
        let clipVideoTrack = videoAsset.tracksWithMediaType(AVMediaTypeVideo).first! as AVAssetTrack

        let composition = AVMutableComposition()
        composition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: CMPersistentTrackID())

        let videoComposition = AVMutableVideoComposition()
        videoComposition.renderSize = CGSizeMake(360,640)
        videoComposition.frameDuration = CMTimeMake(1, 30)

        let instruction = AVMutableVideoCompositionInstruction()
        instruction.timeRange = CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(180, 30))

        let transformer : AVMutableVideoCompositionLayerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: clipVideoTrack)

        let t1 = CGAffineTransformMakeTranslation(360, 0)
        let t2 = CGAffineTransformRotate(t1, …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios avassetwriter avassetexportsession swift

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

Mongoose 聚合匹配一个 objectIds 数组

我有一个看起来像这样的架构

var Post = new mongoose.Schema({
    author: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    },
    created: {
        type: Date,
        Default: Date.now
    })
Run Code Online (Sandbox Code Playgroud)

我也有一个用户表。我有一组用户 ID,我正在尝试根据一组用户 ID 搜索帖子表

例如

var userIds = ["575e96652473d2ab0ac51c1e","575e96652473d2ab0ac51c1d"] .... and so on 
Run Code Online (Sandbox Code Playgroud)

我想返回这些用户创建的所有帖子。帖子应按创建日期排序。有没有办法根据提供的用户 ID 对这个帖子进行分组,基本上匹配单个用户的帖子?

我想要达到的结果是这样的:

 [{
    userAId : "56656.....",
    post : [postA, postB],
   },{ 
    userBId :"12345...", 
    post : [postA, postB]
}]
Run Code Online (Sandbox Code Playgroud)

如何编写此查询?

这是我到目前为止

Post.aggregate([{
  // {"$unwind" : ""},
    // "$group": {
    //     _id: "$author",
    //     "created" : {"$sum" : 1 }
    // }
    "$match" : { author : …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js aggregation-framework

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

为什么最后两个函数有效,但不是第一个?

我有三个不同的函数应该做同样的事情 - 使用已解析的Promises填充数组,但它不适用于第一个示例.

这是我的代码:

(async() => {
  const items = [];
  const someFn = async() => {
    const v = await Promise.resolve(10);
    items.push(Math.random());
    return Promise.resolve(v * 10);
  }
  const arr = [];
  for (let i = 0; i < 10; i++) {
    arr.push(someFn);
  }
  await Promise.all(arr);
  console.log("item 1", items);
})();

(async() => {
  const items = [];
  const someFn = async() => {
    const v = await Promise.resolve(10);
    items.push(Math.random());
    return Promise.resolve(v * 10);
  }
  const arr = [...Array(10).keys()].map(someFn)
  await Promise.all(arr); …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise

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