1: <?php
2:
3: /**
4: * Copyright 2016 LINE Corporation
5: *
6: * LINE Corporation licenses this file to you under the Apache License,
7: * version 2.0 (the "License"); you may not use this file except in compliance
8: * with the License. You may obtain a copy of the License at:
9: *
10: * https://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15: * License for the specific language governing permissions and limitations
16: * under the License.
17: */
18:
19: namespace LINE\LINEBot\MessageBuilder;
20:
21: use LINE\LINEBot\Constant\MessageType;
22: use LINE\LINEBot\MessageBuilder;
23:
24: /**
25: * A builder class for audio message.
26: *
27: * @package LINE\LINEBot\MessageBuilder
28: */
29: class AudioMessageBuilder implements MessageBuilder
30: {
31: /** @var string */
32: private $originalContentUrl;
33: /** @var int */
34: private $duration;
35:
36: /**
37: * AudioMessageBuilder constructor.
38: *
39: * @param string $originalContentUrl URL that serves audio file.
40: * @param int $duration Duration of audio file (milli seconds)
41: */
42: public function __construct($originalContentUrl, $duration)
43: {
44: $this->originalContentUrl = $originalContentUrl;
45: $this->duration = $duration;
46: }
47:
48: /**
49: * Builds
50: * @return array
51: */
52: public function buildMessage()
53: {
54: return [
55: [
56: 'type' => MessageType::AUDIO,
57: 'originalContentUrl' => $this->originalContentUrl,
58: 'duration' => $this->duration,
59: ]
60: ];
61: }
62: }
63: