audio_player 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/src/audio_player.rb +39 -0
  2. data/src/gen_random.rb +20 -0
  3. metadata +95 -0
@@ -0,0 +1,39 @@
1
+ # audio_player.rb
2
+ #
3
+ # written by pjc0247
4
+ #
5
+
6
+ require 'win32api'
7
+
8
+ load 'gen_random.rb'
9
+
10
+ class AudioPlayer
11
+ @@mciSendString = Win32API.new("winmm", "mciSendString", "PPLL", "L")
12
+
13
+ def initialize(file)
14
+ @instance_name = "rb_" + generate_random_string(4)
15
+
16
+ send "open #{file} alias #{@instance_name}"
17
+
18
+ self.volume = 500
19
+ end
20
+
21
+ def send(str)
22
+ @@mciSendString.call str, "", 0, 0
23
+ end
24
+
25
+ def play
26
+ send "play #{@instance_name}"
27
+ end
28
+ def stop
29
+ send "stop #{@instance_name}"
30
+ end
31
+
32
+ def volume=(v)
33
+ send "setaudio #{@instance_name} volume to #{v}"
34
+ @volume = v
35
+ end
36
+ def volume
37
+ @volume
38
+ end
39
+ end
@@ -0,0 +1,20 @@
1
+ # https://gist.github.com/pjc0247/5090169
2
+
3
+ def generate_random_string(length = 8)
4
+ buffer = String.new
5
+
6
+ for i in 0..length
7
+ rnd = rand(26 + 26 + 10)
8
+
9
+ case rnd
10
+ when 0..25
11
+ buffer << (rand(26) + 'a'.ord).chr
12
+ when 26..52
13
+ buffer << (rand(26) + 'A'.ord).chr
14
+ else
15
+ buffer << (rand(10) + '0'.ord).chr
16
+ end
17
+ end
18
+
19
+ return buffer
20
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: audio_player
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - pjc0247
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-08-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sqlite3
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.3.7
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.7
30
+ - !ruby/object:Gem::Dependency
31
+ name: eventmachine
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 1.0.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.0.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: redis
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 3.0.2
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.2
62
+ description: audio player for ruby / windows
63
+ email:
64
+ - pjc0247@naver.com
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - src/audio_player.rb
70
+ - src/gen_random.rb
71
+ homepage: http://github.com/pjc0247/
72
+ licenses: []
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: 1.3.6
89
+ requirements: []
90
+ rubyforge_project: audio_player
91
+ rubygems_version: 1.8.25
92
+ signing_key:
93
+ specification_version: 3
94
+ summary: macro functionset
95
+ test_files: []