Ejemplo n.º 1
0
    def _parseAudio(self, _body):
        _redis = self._redis
        _audio = json.loads(_body)

        _duration = _audio.get("dura")
        _mime = _audio.get("mime")
        _fid = _audio.get("fid")

        if _duration == None or _fid == None or _mime == None:
            logging.error("Error parse audio message body failed.")
            return None

        # m4a is from/for iOS
        # amr is from/for android
        # mp3 is for PC
        _data = read_file(_redis, _fid)
        if _data == None:
            logging.error("Error no audio data %s." % (_fid))
            return None

        _mp3 = None

        if _mime == "audio/m4a":
            _m4a = AudioConverter.m4a2m4a(_data)
            _amr = AudioConverter.m4a2amr(_data)
            _mp3 = AudioConverter.m4a2mp3(_data)

            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a", self._from_uuid)
            _fid_amr = create_file_with_data(_redis, _amr, "audio/amr", self._from_uuid)
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3", self._from_uuid)

        if _mime == "audio/amr":
            _m4a = AudioConverter.amr2m4a(_data)
            _amr = _data
            _mp3 = AudioConverter.amr2mp3(_data)

            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a", self._from_uuid)
            _fid_amr = _fid
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3", self._from_uuid)


        if _mp3 == None:
            logging.error("Error no audio converter for mime=%s." % (_mime))
            return None

        if _fid_m4a == None:
            logging.error("Error to create m4a file with data, len=%d." % len(_m4a))
            return None

        if _fid_amr == None:
            logging.error("Error to create amr file with data, len=%d." % len(_amr))
            return None

        if _fid_mp3 == None:
            logging.error("Error to create mp3 file with data, len=%d." % len(_mp3))
            return None

        return json.dumps({
            "m4a": {"dura": _duration, "fid": _fid_m4a},
            "amr": {"dura": _duration, "fid": _fid_amr},
            "mp3": {"dura": _duration, "fid": _fid_mp3}
        })
Ejemplo n.º 2
0
    def _parseAudio(self, _body):
        _redis = self._redis
        _audio = json.loads(_body)

        _duration = _audio.get("dura")
        _mime = _audio.get("mime")
        _fid = _audio.get("fid")

        if _duration == None or _fid == None or _mime == None:
            logging.error("Error parse audio message body failed.")
            return None

        # m4a is from/for iOS
        # amr is from/for android
        # mp3 is for PC
        _data = read_file(_redis, _fid)
        if _data == None:
            logging.error("Error no audio data %s." % (_fid))
            return None

        _mp3 = None

        if _mime == "audio/m4a":
            _m4a = AudioConverter.m4a2m4a(_data)
            _amr = AudioConverter.m4a2amr(_data)
            _mp3 = AudioConverter.m4a2mp3(_data)

            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a",
                                             self._from_uuid)
            _fid_amr = create_file_with_data(_redis, _amr, "audio/amr",
                                             self._from_uuid)
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3",
                                             self._from_uuid)

        if _mime == "audio/amr":
            _m4a = AudioConverter.amr2m4a(_data)
            _amr = _data
            _mp3 = AudioConverter.amr2mp3(_data)

            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a",
                                             self._from_uuid)
            _fid_amr = _fid
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3",
                                             self._from_uuid)

        if _mp3 == None:
            logging.error("Error no audio converter for mime=%s." % (_mime))
            return None

        if _fid_m4a == None:
            logging.error("Error to create m4a file with data, len=%d." %
                          len(_m4a))
            return None

        if _fid_amr == None:
            logging.error("Error to create amr file with data, len=%d." %
                          len(_amr))
            return None

        if _fid_mp3 == None:
            logging.error("Error to create mp3 file with data, len=%d." %
                          len(_mp3))
            return None

        return json.dumps({
            "m4a": {
                "dura": _duration,
                "fid": _fid_m4a
            },
            "amr": {
                "dura": _duration,
                "fid": _fid_amr
            },
            "mp3": {
                "dura": _duration,
                "fid": _fid_mp3
            }
        })
Ejemplo n.º 3
0
    def _parseAudio(self, _body):
        from ppmessage.core.audioconverter import AudioConverter

        _redis = self._redis

        _audio = json.loads(_body)
        if "dura" not in _audio or "fid" not in _audio or "mime" not in _audio:
            logging.error("Error parse audio message body failed.")
            return None

        _duration = _audio["dura"]
        _mime = _audio["mime"]
        _fid = _audio["fid"]

        # m4a is from/for iOS
        # amr is from/for android
        # mp3 is for PC
        _data = read_file(_redis, _fid)
        if _data == None:
            logging.error("Error no audio data %s." % (_fid))
            return None

        _mp3 = None
        _m4a = None
        _amr = None

        _fid_mp3 = None
        _fid_m4a = None
        _fid_amr = None

        if _mime == "audio/m4a" or "audio/m4a" in _mime:
            _m4a = AudioConverter.m4a2m4a(_data)
            _amr = AudioConverter.m4a2amr(_data)
            _mp3 = AudioConverter.m4a2mp3(_data)

            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a",
                                             self._from_uuid)
            _fid_amr = create_file_with_data(_redis, _amr, "audio/amr",
                                             self._from_uuid)
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3",
                                             self._from_uuid)

        if _mime == "audio/amr":
            _amr = _data
            _m4a = AudioConverter.amr2m4a(_data)
            _mp3 = AudioConverter.amr2mp3(_data)

            _fid_amr = _fid
            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a",
                                             self._from_uuid)
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3",
                                             self._from_uuid)

        if _mp3 == None:
            logging.error("Error no audio converter for mime=%s." % (_mime))
            return None

        if _fid_m4a == None:
            logging.error("Error to create m4a file with data, len=%d." %
                          len(_m4a))
            return None

        if _fid_amr == None:
            logging.error("Error to create amr file with data, len=%d." %
                          len(_amr))
            return None

        if _fid_mp3 == None:
            logging.error("Error to create mp3 file with data, len=%d." %
                          len(_mp3))
            return None

        return {
            "m4a": {
                "dura": _duration,
                "fid": _fid_m4a
            },
            "amr": {
                "dura": _duration,
                "fid": _fid_amr
            },
            "mp3": {
                "dura": _duration,
                "fid": _fid_mp3
            }
        }
Ejemplo n.º 4
0
    def _parseAudio(self, _body):
        from ppmessage.core.audioconverter import AudioConverter

        _redis = self._redis
        
        _audio = json.loads(_body)
        if "dura" not in _audio or "fid" not in _audio or "mime" not in _audio:
            logging.error("Error parse audio message body failed.")
            return None

        _duration = _audio["dura"]
        _mime = _audio["mime"]
        _fid = _audio["fid"]

        # m4a is from/for iOS
        # amr is from/for android
        # mp3 is for PC
        _data = read_file(_redis, _fid)
        if _data == None:
            logging.error("Error no audio data %s." % (_fid))
            return None

        _mp3 = None
        _m4a = None
        _amr = None

        _fid_mp3 = None
        _fid_m4a = None
        _fid_amr = None

        if _mime == "audio/m4a" or "audio/m4a" in _mime:
            _m4a = AudioConverter.m4a2m4a(_data)
            _amr = AudioConverter.m4a2amr(_data)
            _mp3 = AudioConverter.m4a2mp3(_data)

            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a", self._from_uuid)
            _fid_amr = create_file_with_data(_redis, _amr, "audio/amr", self._from_uuid)
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3", self._from_uuid)

        if _mime == "audio/amr":
            _amr = _data
            _m4a = AudioConverter.amr2m4a(_data)
            _mp3 = AudioConverter.amr2mp3(_data)

            _fid_amr = _fid
            _fid_m4a = create_file_with_data(_redis, _m4a, "audio/m4a", self._from_uuid)
            _fid_mp3 = create_file_with_data(_redis, _mp3, "audio/mp3", self._from_uuid)


        if _mp3 == None:
            logging.error("Error no audio converter for mime=%s." % (_mime))
            return None

        if _fid_m4a == None:
            logging.error("Error to create m4a file with data, len=%d." % len(_m4a))
            return None

        if _fid_amr == None:
            logging.error("Error to create amr file with data, len=%d." % len(_amr))
            return None

        if _fid_mp3 == None:
            logging.error("Error to create mp3 file with data, len=%d." % len(_mp3))
            return None

        return {
            "m4a": {"dura": _duration, "fid": _fid_m4a},
            "amr": {"dura": _duration, "fid": _fid_amr},
            "mp3": {"dura": _duration, "fid": _fid_mp3}
        }