linux utf8转gb2312 声音播放脚本

char* utf8_to_gb2312(char* inbuf)
{
  int inlen = strlen(inbuf);
  iconv_t cd = iconv_open("gb2312", "utf-8");
  if ((iconv_t)-1 == cd)
    {
      perror("iconv_open"); return NULL;
    }
  char *outbuf = (char *)malloc(inlen * 4 );
  bzero( outbuf, inlen * 4);
  char *in = inbuf;
  char *out = outbuf;
  size_t outlen = inlen *4;
  iconv(cd, &in, (size_t *)&inlen, &out,&outlen);
  outlen = strlen(outbuf);
  //printf("%s\n",outbuf);
  //free(outbuf);
  iconv_close(cd);
  return outbuf;
}

void show_cdu(char* buf)
{
  char* inbuf = buf;
  char* outbuf = utf8_to_gb2312(inbuf);
  CDisp_Clr_688_3();
  CDisp_Setfont_688_3(1);
  CDisp_Set_Abs_XY_688_3(1,1);
  CDisp_String_688_3((unsigned char*)outbuf);
  CDisp_Start_688_3();
  free(outbuf);
  return;
}
下面是播放声音的脚本:
#!/bin/bash

par1=`tr  '[a-z]' '[A-Z]' <<< "$1"`

if [ $par1 = "PLAY" ]
then
/cqcp/bin/pSound -r 48000 -b 8 -c 2 -f /cqcp/resources/succ.wav
fi

if [ $par1 = "STOP" ]
then
    tpid=`ps -ef | grep succ.wav | grep -v grep | awk '{print $2}'`
    kill -9 $tpid
fi

if [ $par1 = "VOL" ]
then
    echo $2 > mute
    if [ $2 -eq 0 ]; then
        amixer set Master 0% mute
    else
        amixer set Master $2% unmute
    fi
#./playSound dd.wav

#system("play xxx.wav");
#cat file /dev/dsp
#system("aumix xxxxxx")
fi

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值