OSDN Git Service

scene2d.ui Disableable interface.
[mikumikustudio/libgdx-mikumikustudio.git] / backends / gdx-backend-iosmonotouch / src / com / badlogic / gdx / backends / ios / IOSObjectALSound.java
1 /*******************************************************************************\r
2  * Copyright 2011 See AUTHORS file.\r
3  * \r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  * \r
8  *   http://www.apache.org/licenses/LICENSE-2.0\r
9  * \r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  ******************************************************************************/\r
16 \r
17 package com.badlogic.gdx.backends.ios;\r
18 \r
19 import cli.objectal.ALBuffer;\r
20 import cli.objectal.ALSource;\r
21 import cli.objectal.OALSimpleAudio;\r
22 \r
23 import com.badlogic.gdx.audio.Sound;\r
24 import com.badlogic.gdx.files.FileHandle;\r
25 \r
26 /** @author tescott\r
27  * \r
28  *         First pass at implementing OALSimpleAudio support. */\r
29 public class IOSObjectALSound implements Sound {\r
30 \r
31         private ALSource soundSource;\r
32         private ALBuffer soundBuffer;\r
33         private String soundPath;\r
34 \r
35         public IOSObjectALSound (FileHandle filePath) {\r
36                 soundPath = filePath.file().getPath().replace('\\', '/');\r
37                 soundBuffer = OALSimpleAudio.sharedInstance().preloadEffect(soundPath);\r
38         }\r
39 \r
40         @Override\r
41         public long play () {\r
42                 return play(1, 1, 1, false);\r
43         }\r
44 \r
45         @Override\r
46         public long play (float volume) {\r
47                 return play(volume, 1, 1, false);\r
48         }\r
49 \r
50         @Override\r
51         public long play (float volume, float pitch, float pan) {\r
52                 return play(volume, pitch, pan, false);\r
53         }\r
54 \r
55         public long play (float volume, float pitch, float pan, boolean loop) {\r
56                 soundSource = OALSimpleAudio.sharedInstance().playEffect(soundPath, volume, pitch, pan, loop);\r
57                 return 0;\r
58         }\r
59 \r
60         @Override\r
61         public long loop () {\r
62                 return play(1, 1, 1, true);\r
63         }\r
64 \r
65         @Override\r
66         public long loop (float volume) {\r
67                 return play(volume, 1, 1, true);\r
68         }\r
69 \r
70         @Override\r
71         public long loop (float volume, float pitch, float pan) {\r
72                 return play(volume, pitch, pan, true);\r
73         }\r
74 \r
75         @Override\r
76         public void stop () {\r
77                 if (soundSource != null) soundSource.stop();\r
78         }\r
79 \r
80         @Override\r
81         public void dispose () {\r
82                 OALSimpleAudio.sharedInstance().unloadEffect(soundPath);\r
83         }\r
84 \r
85         @Override\r
86         public void stop (long soundId) {\r
87                 // we should do something to give an id for each sound.\r
88                 stop();\r
89         }\r
90 \r
91         @Override\r
92         public void setLooping (long soundId, boolean looping) {\r
93                 // TODO Auto-generated method stub\r
94         }\r
95 \r
96         @Override\r
97         public void setPitch (long soundId, float pitch) {\r
98                 // TODO Auto-generated method stub\r
99 \r
100         }\r
101 \r
102         @Override\r
103         public void setVolume (long soundId, float volume) {\r
104                 // TODO Auto-generated method stub\r
105 \r
106         }\r
107 \r
108         @Override\r
109         public void setPan (long soundId, float pan, float volume) {\r
110                 // TODO Auto-generated method stub\r
111 \r
112         }\r
113 \r
114         @Override\r
115         public void setPriority (long soundId, int priority) {\r
116                 // TODO Auto-generated method stub\r
117 \r
118         }\r
119 \r
120         @Override\r
121         public void pause () {\r
122                 // TODO Auto-generated method stub\r
123                 \r
124         }\r
125 \r
126         @Override\r
127         public void resume () {\r
128                 // TODO Auto-generated method stub\r
129                 \r
130         }\r
131 \r
132         @Override\r
133         public void pause (long soundId) {\r
134                 // TODO Auto-generated method stub\r
135                 \r
136         }\r
137 \r
138         @Override\r
139         public void resume (long soundId) {\r
140                 // TODO Auto-generated method stub\r
141                 \r
142         }\r
143 }\r