码迷,mamicode.com
首页 > 其他好文 > 详细

简单代码在ABAP中实现声音的播放

时间:2014-08-20 20:53:52      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   strong   文件   ar   

      这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多。将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序。

REPORT zplay.
DATA: command TYPE string.

*本地命令语句
CONCATENATE ‘vbscript:execute(”document.write ””<bgsound src=’
‘file:///”+Replace(”C:\lg\Bad Romance.mp3“,”\”,”/”)+”‘
‘loop=’ ‘1‘” ‘>””:window.setTimeout ””window.close()””,300000“)’ INTO command.

*可以先检查一下播放的音频文件是否存在

CALL METHOD cl_gui_frontend_services=>file_exist

……

*播放声音

 1 CALL METHOD cl_gui_frontend_services=>execute
 2   EXPORTING
 3 *   document               =
 4     application            = mshta
 5     parameter              = command
 6 *   minimized              = ’X’
 7   EXCEPTIONS
 8     cntl_error             = 1
 9     error_no_gui           = 2
10     bad_parameter          = 3
11     file_not_found         = 4
12     path_not_found         = 5
13     file_extension_unknown = 6
14     error_execute_failed   = 7
15     synchronous_failed     = 8
16     not_supported_by_gui   = 9
17     OTHERS                 = 10.
18 IF sy-subrc <> 0.
19   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
20   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
21 ENDIF.

 

代码就是这么简单,不用任何其他额外的东西。蓝色字体都是可以修改的内容。

几点说明:

1.要播放的音频文件必须要在客户的电脑上存在,一般而言选择WINDOWS系统安装盘下面的默认文件比较靠谱,那些系统声音都在 C:\WINDOWS\Media下面,选择其中一个最方便。当然也可以做成可配置的变量,用户想要什么声音自己去选。

2. loop = ‘1′ 表示播放一次,loop = ‘-1′表示循环播放,loop = ‘n’表示播放N次

3.window.setTimeout ””window.close()””,300000″是用来关闭进程mshta的,300000是指300秒后自动关闭,这里本身是以毫秒为单位。可以根据声音的时间自己调节。

4.这个程序不会出现任何本地的对话框也不会出现播放器界面。
5.如果出现了’SAP GUI安全性‘对话框,可以在SAP GUI Options设置里面,选择security->security settings 将default action设置为 allowed即可

简单代码在ABAP中实现声音的播放,布布扣,bubuko.com

简单代码在ABAP中实现声音的播放

标签:style   blog   color   os   io   strong   文件   ar   

原文地址:http://www.cnblogs.com/ruingy/p/3925391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!