C++编程语言案例

 int main参数设置

int main(int argc, char **argv)
{
    if (argc <= 2) {
        fprintf(stderr, "Usage: %s <input file> <output file>\n", argv[0]);
        exit(0);
    }
    filename    = argv[1];
    outfilename = argv[2];
}

void main(int argc,char *argv[]),直接讲就是argc表示你使用这个程序时输入参数的个数,argv[]表示各个参数;默认argc为1,argv[0]为程序名称。

比如: 在CMD环境下Ping命令,ping  https://www.csdn.net/,这时argc=2 argv[0]="ping" argv[1]=https://www.csdn.net/

          在CMD下使用自己的程序时输入:程序名.exe audio.mp3

FFmpeg音频解码报错

swr_convert(swrCtx, &out_buffer, 2 * 44100, frame->data, frame->nb_samples);

报错:swr_convert  无法将参数 4 从“uint8_t *[8]”转换为“const uint8_t **”。

解决方法:可以直接强制转换

swr_convert(swrCtx, &out_buffer, 2 * 44100,(const uint8_t **)frame->data, frame->nb_samples);

再次编译运行即可通过。

错误 C4996 ‘AVStream::codec‘: 被声明为已否决

解决方法: 将VS的SDL检查关闭

让C++控制台程序停下来,实现暂停功能

#include   <stdlib.h> 
int main
{
system( "PAUSE");
}

在一个项目中含有main函数的A.cpp,引用另一个B.cpp的函数Sap()

直接在含有main函数的AudioDecode.cpp文件代码头部添加“extern int simplest_aac_parser(char *url)”,在main函数中引用函数simplest_aac_parser(“ ”)运行即可

#include "stdafx.h"
extern   int simplest_aac_parser(char *url);

int  main()
{
	simplest_aac_parser("Demo.aac");
	return 0;
}

 

c++中switch语句里的default

swith(变量)
{
case xxx:
……
break;

case xxx:
case xxx:
……
break;

default:
……
}

default就是当变量的取值不在上面任何一个case的情况下,语句要做处理,其实也是一种case,只不过就是指“除了指定的几个case以外的其他情况”。default就是switch语句中没有列出case的所有其他情况。这是一种安全的编程方式,建议写switch语句一定加default,这样可以防止不进入分支的错误。

 

FFmpeg音频解码报错2

进行将MP4音频,利用ffmpeg代码分解成aac和无声mp4格式视频时: 在avformat_open_input("(&fmt_ctx, 'input.mp4', NULL, NULL))打开mp4问件时报错: input.mp4, -1094995529(Invalid data found when  processing input)。

原因:代码中没有添加=====FFmpeg相关初始化==== (即av_register_all()); 添加av_register_all()之后,在进行编译运行即可通过。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值