【问题标题】:Is there a way to convert mp4/wav files to a byte array in nativescript?有没有办法将 mp4/wav 文件转换为 nativescript 中的字节数组?
【发布时间】:2020-12-24 14:25:45
【问题描述】:

正在尝试将 mp4 和 wav 文件写入字节数组,以便我能够与其他应用程序共享它们。将不胜感激任何帮助。谢谢

【问题讨论】:

    标签: javascript android nativescript


    【解决方案1】:

    如果我假设您使用的是python,那么它与阅读text_file 或video_file 相同。

    假设你的文件名是test.ts,那么你可以使用下面的函数。

    def get_bytes_from_file(filename):  
        return open(filename, "rb").read()  
    
    get_bytes_from_file("test.ts")
    

    您还可以使用 scipy inbuild 函数 scipy.io.wavfile.read 和/或 scipy.io.wavfile.write.Refer this.

    如果您想将十进制值转换为二进制,可以使用以下命令:

    In [3]: import numpy as np 
       ...:  
       ...: def bitfield(n): 
       ...:     """Convert integer into bitfield (as list) 
       ...:     From StackOverflow: http://stackoverflow.com/a/10322018/ 
       ...:     """ 
       ...:     return [int(digit) for digit in bin(n)[2:]]  
       ...:                                                                         
    
    In [4]: p = 0x91 
       ...: p = np.array(bitfield(p))                                               
    
    In [5]: p                                                                       
    Out[5]: array([1, 0, 0, 1, 0, 0, 0, 1])
    

    如果你想将字符串消息转换为二进制,你可以使用这个:

    In [1]: import numpy as np
            import codecs
    
    In[2]: s = '44.6488N,63.5752W,20.5,2.25,125.6,11.5,6.8,T10.5,271.4,35.5,44.6491N,63.5755W'.encode('utf-8')
    
    In[4]: s.hex()
    Out[4]: '34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557'
    
    
    In[10]: print(codecs.decode("34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557", "hex").decode('utf-8'))
    Out[10]: 44.6488N,63.5752W,20.5,2.25,125.6,11.5,6.8,T10.5,271.4,35.5,44.6491N,63.5755W
    
    In[11]: hex_string = "34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557"
        for i in range(len(hex_string)//2):
            print('{0}'.format(hex_string[i*2:i*2+2]), end=":")
    Out[11]: 34:34:2e:36:34:38:38:4e:2c:36:33:2e:35:37:35:32:57:2c:32:30:2e:35:2c:32:2e:32:35:2c:31:32:35:2e:36:2c:31:31:2e:35:2c:36:2e:38:2c:54:31:30:2e:35:2c:32:37:31:2e:34:2c:33:35:2e:35:2c:34:34:2e:36:34:39:31:4e:2c:36:33:2e:35:37:35:35:57:        
    
    
    In[12]: p = '34342e363438384e2c36332e35373532572c32302e352c322e32352c3132352e362c31312e352c362e382c5431302e352c3237312e342c33352e352c34342e363439314e2c36332e3537353557'
        p = int(p, 16)
        p = np.array(bitfield(p))
        p
    Out[12] : array([1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0,
               0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0,
               0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0,
               1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
               1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1,
               0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1,
               1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1,
               0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0,
               1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0,
               0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,
               0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1,
               0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0,
               1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1,
               0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1,
               0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1,
               1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0,
               1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0,
               0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0,
               1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0,
               1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0,
               1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0,
               0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
               0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1,
               0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0,
               1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0,
               0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,
               1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1,
               0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1])
    
    

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 1970-01-01
      • 2011-02-09
      • 2021-09-15
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      相关资源
      最近更新 更多